【发布时间】:2021-05-25 19:14:20
【问题描述】:
我正在使用 System V IPC 的共享内存。我使用以下命令使用键创建段:
shmid1 = shmget(key1,1024,0666|IPC_CREAT);
现在,我正在尝试关闭/删除共享内存段。
我正在使用以下命令来验证它的存在:
sm_id = shmget(roomNumber, 1024, IPC_EXCL | 0666);
如果程序中断,我需要它具有 -1 或类似的值。所以我需要在我的程序中断之前删除该段。我怎样才能做到这一点?我读到了ipcrm,但不知道如何使用它。
谢谢
【问题讨论】:
-
是的,你需要删除一个内存段。
ipcrm是一个命令行工具,如果你想以编程方式调用它,你应该使用shmctl。如果您尝试比“不确定如何使用它”更具体,则可以提供更量身定制的答案。 -
@SergeyA 你能告诉我如何使用 shmctl 关闭我的内存段吗?