日期:2014-05-16  浏览次数:20593 次

linux下信号量的释放的问题
程序在结尾处会调用semctl的IPC_RMID命令,进行删除semaphore的操作,但是如果程序被用户杀死(比如说:ctrl+c),那么这时的信号量将不会被删除,求教:有没有什么一般性的经验做法,处理这一类问题,谢谢

------解决方案--------------------
可以捕获SIGINT,然后在信号处理函数中进行IPC_RMID

但是如果进程是被kill -9杀死的,那就没招了