C - 系统 V - 删除共享内存段
C - System V - remove shared memory segment
我在 System V IPC 中使用共享内存。我使用以下命令使用键创建段:
shmid1 = shmget(key1,1024,0666|IPC_CREAT);
现在,我正在尝试 close/remove 共享内存段。
我正在使用以下命令来验证它是否存在:
sm_id = shmget(roomNumber, 1024, IPC_EXCL | 0666);
如果程序中断,我需要它具有值 -1
或类似值。所以我需要在程序中断之前删除该段。我怎样才能做到这一点?我阅读了 ipcrm
但不确定如何使用它。
谢谢
作为说明如何将共享内存段标记为销毁的评论的后续内容:
shmid1 = shmget(key1,1024,0666|IPC_CREAT);
...
shmctl(shmid1, IPC_RMID, NULL)
我在 System V IPC 中使用共享内存。我使用以下命令使用键创建段:
shmid1 = shmget(key1,1024,0666|IPC_CREAT);
现在,我正在尝试 close/remove 共享内存段。
我正在使用以下命令来验证它是否存在:
sm_id = shmget(roomNumber, 1024, IPC_EXCL | 0666);
如果程序中断,我需要它具有值 -1
或类似值。所以我需要在程序中断之前删除该段。我怎样才能做到这一点?我阅读了 ipcrm
但不确定如何使用它。
谢谢
作为说明如何将共享内存段标记为销毁的评论的后续内容:
shmid1 = shmget(key1,1024,0666|IPC_CREAT);
...
shmctl(shmid1, IPC_RMID, NULL)