当前位置: 技术问答>linux和unix
如何用函数判断某个守护进程处入运行中
来源: 互联网 发布时间:2017-01-01
本文导语: 如题, 用什么函数可以判断stunnel这个守护进程当前处入运行状态啊? 用ps -ef|grep stunnel当然是可以的, 但是这样需要启动子进程,非常影响程序的运行效率,而且还需要处理返回结果,比较麻烦。 请问有没有API...
如题, 用什么函数可以判断stunnel这个守护进程当前处入运行状态啊? 用ps -ef|grep stunnel当然是可以的, 但是这样需要启动子进程,非常影响程序的运行效率,而且还需要处理返回结果,比较麻烦。 请问有没有API函数可以实现这个功能啊?
|
获取守护进程的PID之后,可以用kill(pid, 0)来检测
|
貌似没有好办法,很多守护进程都是在/var/run目录下放一个标记文件来标识自己是否运行(文件的内容一般是守护进程的PID号),比如/var/run/syslogd.pid之类。如果希望从其它进程检测守护进程运行状态的话,不仿考虑一下这个做法。
但是这个做法并不完美,比如,kill -9,它不但会留下垃圾,处理不当的话还可能使守护进程无法启动。
但是这个做法并不完美,比如,kill -9,它不但会留下垃圾,处理不当的话还可能使守护进程无法启动。