有没有办法检查pid是否对应一个有效的进程?我从不同的来源获得了一个pidos.getpid(),我需要检查是否在该机器上不存在具有该pid的进程.
我需要它在Unix和Windows中可用.我还在检查PID是否未被使用.
我发现的唯一好方法是:
import sys
import os
try:
os.kill(int(sys.argv[1]), 0)
print "Running"
except:
print "Not running"
Run Code Online (Sandbox Code Playgroud)
(来源)
但这可靠吗?它适用于每个流程和每个分发吗?
我需要在我的python脚本中添加一个函数来检查当前脚本是否已经在运行.如果是,那么它将退出,如果不是它继续运行脚本.我已经研究过这样做的方法,但我无法弄清楚如何做到这一点.