试了一下,对于正常退出如果调用了清理函数,则内存会自动清空,如果不调用则不会清空。
对于异常退出还没来得及调用清理函数则
共享内存不会被清理。而且一般情况下如果我们没有清理,下次重启该进程共享内存不会重新分配还会使用原来未被清理的。
另外我们可以在linux的
命令行下使用命令删除:
1,查看共享内存的id或key
ipcs -m
2,删除共享内存
ipcrm -m id //根据id删除
ipcrm -M key //根据key删除
ipcrm shm id/key //根据id/key删除