在Linux 中判断一个PID 对应的进程是否存在,可以通过如下进行判断
#! /usr/bin/env python
import os
def check_pid(pid):
try:
os.kill(pid,0)
except OSError:
return False
else:
return True
if __name__ == "__main__":
print check_pid(22467)
如果PID在系统中存在,将返回True , 否则返回False。
为什么向对应的pid 进程发生 0 信号(其实没有这个信号的 。kill -l 可以确认没有这个编号的信号) 能够判断 Pid 对应的进程是否存在呢 ?
在linux 系统中, man 手册帮助了我们。
man 2 kill 截获如下一部分
linux 系统帮助中给了我们很好的解答。呵呵。
转载于:https://blog.51cto.com/unixman/1748787