加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中,不使用/ proc文件系统,如何判断给定的PID是否正在运

发布时间:2020-12-16 23:54:01 所属栏目:Python 来源:网络整理
导读:假设我有一个PID,比如555.我想看看那个pid是否正在运行或已经完成.我可以检查/ proc /但我在生产环境中无法访问它.什么是最好的方法来做到这一点,缺少像打开管道到“ps”的东西? 最佳答案 使用信号编号为0的 os.kill() 函数.如果进程pid存在,则调用将成功,

假设我有一个PID,比如555.我想看看那个pid是否正在运行或已经完成.我可以检查/ proc /但我在生产环境中无法访问它.什么是最好的方法来做到这一点,缺少像打开管道到“ps”的东西?

最佳答案
使用信号编号为0的os.kill()函数.如果进程pid存在,则调用将成功,否则将引发OSError异常:

try:
    os.kill(pid,0)
    print("process exists")
except OSError:
    print("process does not exist")

我系统上kill(2)的文档说:

The kill() function sends the signal given by sig to pid,a process or a group of processes. Sig may be one of the signals specified in sigaction(2) or it may be 0,in which case error checking is performed but no signal is actually sent. This can be used to check the validity of pid.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读