linux下信号量的释放的问题
程序在结尾处会调用semctl的IPC_RMID命令,进行删除semaphore的操作,但是如果程序被用户杀死(比如说:ctrl+c),那么这时的信号量将不会被删除,求教:有没有什么一般性的经验做法,处理这一类问题,谢谢
[解决办法]
可以捕获SIGINT,然后在信号处理函数中进行IPC_RMID
但是如果进程是被kill -9杀死的,那就没招了
发布时间: 2012-02-06 15:52:44 作者: rapoo
linux下信号量的释放的问题
程序在结尾处会调用semctl的IPC_RMID命令,进行删除semaphore的操作,但是如果程序被用户杀死(比如说:ctrl+c),那么这时的信号量将不会被删除,求教:有没有什么一般性的经验做法,处理这一类问题,谢谢
[解决办法]
可以捕获SIGINT,然后在信号处理函数中进行IPC_RMID
但是如果进程是被kill -9杀死的,那就没招了