【发布时间】:2017-10-27 16:24:14
【问题描述】:
在我的 Python 脚本中,我想检查 otherscript.py 当前是否正在 (Linux) 系统上运行。 psutil 库看起来是个不错的解决方案:
import psutil
proc_iter = psutil.process_iter(attrs=["name"])
other_script_running = any("otherscript.py" in p.info["name"] for p in proc_iter)
问题在于p.info["name"] 只给出了进程的可执行文件的名称,而不是完整的命令。因此,如果在系统上执行python otherscript.py,p.info["name"] 将只是该进程的python,我的脚本无法检测otherscript.py 是否是正在运行的脚本。
有没有一种简单的方法可以使用 psutil 或其他一些库进行此检查?我意识到我可以将ps 命令作为子进程运行并在输出中查找otherscript.py,但如果存在,我更喜欢更优雅的解决方案。
【问题讨论】: