CS-FreeStyle / 10000-How-To-Do-in-CS

1 stars 0 forks source link

shared memory #134

Open liuty10 opened 3 years ago

liuty10 commented 3 years ago

https://www.programmersought.com/article/39183782013/ https://www.geeksforgeeks.org/ipc-shared-memory/

liuty10 commented 3 years ago

ftok(): is use to generate a unique key.

shmget(): int shmget(key_t,size_tsize,intshmflg); upon successful completion, shmget() returns an identifier for the shared memory segment.

shmat(): Before you can use a shared memory segment, you have to attach yourself to it using shmat(). void shmat(int shmid ,void shmaddr ,int shmflg); shmid is shared memory id. shmaddr specifies specific address to use but we should set it to zero and OS will automatically choose the address.

shmdt(): When you’re done with the shared memory segment, your program should detach itself from it using shmdt(). int shmdt(void *shmaddr);

shmctl(): when you detach from shared memory,it is not destroyed. So, to destroy shmctl() is used. shmctl(int shmid,IPC_RMID,NULL);