如何在Linux上用Python检查进程是否处于活动状态?

如何在Linux上用Python检查进程是否处于活动状态?,python,process,Python,Process,我在Python中有一个进程id。我知道我可以用os.kill()杀死它,但如何检查它是否还活着?是否有内置函数或我必须转到shell?使用子流程模块生成流程。 有proc.poll()函数-如果进程仍处于活动状态,则返回None,否则返回进程returncode 操作系统。kill不会杀死进程,它会向进程发送信号(名称不准确) 如果发送信号0,则可以确定是否允许发送其他信号。错误代码将指示是权限问题还是缺少进程 有关更多信息,请参见《杀人犯2》 此外,如果进程是您的子进程,则当它死亡时,您可以

我在Python中有一个进程id。我知道我可以用os.kill()杀死它,但如何检查它是否还活着?是否有内置函数或我必须转到shell?

使用
子流程
模块生成流程。 有proc.poll()函数-如果进程仍处于活动状态,则返回
None
,否则返回进程returncode


操作系统。kill
不会杀死进程,它会向进程发送信号(名称不准确)

如果发送信号0,则可以确定是否允许发送其他信号。错误代码将指示是权限问题还是缺少进程

有关更多信息,请参见《杀人犯2》


此外,如果进程是您的子进程,则当它死亡时,您可以获得一个
SIGCHLD
,您可以使用
wait
调用之一来处理它。

使用psutil,您可以检查进程id是否存在:

import psutil
print(psutil.pid_exists(1234))

它的名字并不差。它的命名反映了Unix命令kill,该命令也发送信号,因此是发送kill信号的泛化。