检查 Python 脚本是 运行

Check a Python Script Is Running

我有一个名为 update.py 的 python 脚本,我想使用另一个 python 脚本来检查该脚本是否为 运行ning。如果 update.py 没有 运行 或错误,则脚本将 运行 update.py.

我可以吗?如果有例子就太感谢了

脚本通常用于此类任务。您有一个跟踪 update.py 的监控脚本,它在后台保持 运行。如果监控脚本在开始时启动 python 脚本会变得更容易。

#!/bin/bash
# Monitor script. 

EXEC=<path>/update.py

while true; do
    "$EXEC" &
    wait # Here the assumption is that you want to run this forever. 
done

不确定你在问什么,但考虑到这可能有帮助,所以如果你只想从另一个调用一个 python 脚本,那么你可以使用脚本 1

 #!/usr/bin/python 
 from subprocess import call
 call(["python", "update.py"])

将此文件保存在名为 script1 的脚本中,运行 它会编译 update.py。 如果你想检查 update.py 中的任何语法错误,那么你可以使用脚本 2

#!/usr/bin/python
from subprocess import call
call(["python","-m","py_compile", "update.py"])

如果 script2 编译没有任何错误,则说明您的程序没有语法错误。

第三,如果你想检查 update.py 当前是否为 运行ning,你可以使用脚本 3

#!/usr/bin/python
import psutil
import sys
from subprocess import Popen

for process in psutil.process_iter():
    if process.cmdline() == ['python', 'update.py']:
         sys.exit('Process found: exiting.')

print('Process not found: starting it.')
Popen(['python', 'update.py'])

这最后一个脚本会判断您的脚本是否 运行ning,如果不是 运行ning,它将对其进行编译。