|
发表于 2004-6-13 23:35:19
|
显示全部楼层
最初由 khj99 发表
某些著名的软件(apache,mysql)都是采用,运行后把自已的pid号写入到一个文件里面,比如httpd.pid。第二次运行发现存在这个文件,就退出。
我上次做一个小软件,也是用类似方法,
把pid写入一个文件中,退出时就清除文件,
程序运行时先检查存不存在这个文件,如果有,取出pid,
如果检查到有这个pid的进程就退出程序,
但有一个问题,如果程序是非法退出的,这个文件就会有上一次的进程的pid,
那么以后就不能正常运行了,于是我对各种退出情况都进行了处理,
比如CTRL+z,ctrl+c等退出,但如果你用kill -9杀死这个进程,因为SIGKILL是无法
捕获的,所以无法执行我本来要程序在退出时清理这个文件的工作,
下次就要手动去清除. |
|