如何从Python脚本中检查另一个特定的Python脚本是否正在运行?
def running():
for q in psutil.process_iter():
print q
if q.name() == 'server_class.py':
return True
return False
我尝试过了,但程序被称为“python”,而不是脚本的名称。
如何从Python脚本中检查另一个特定的Python脚本是否正在运行?
def running():
for q in psutil.process_iter():
print q
if q.name() == 'server_class.py':
return True
return False
Python脚本文件将成为命令行的一部分。您可以尝试以下内容:
def running():
for q in psutil.process_iter():
if q.name() == 'python':
print q.cmdline()
if len(q.cmdline())>1 and 'server_class.py' in q.cmdline()[1]:
return True
return False
我只是举例使用了 in
。你可能想要匹配完整路径。
CRONS
显示在列表中。在另一个 Chrome 标签页中,我运行了一个长函数的 views.py
,但它没有显示出来。 - Abpostman1def already_running(script_name):
num_instance = 0
for q in psutil.process_iter():
if 'python' in q.name():
if len(q.cmdline()) > 1 and script_name in q.cmdline()[1]:
num_instance += 1
return num_instance > 1
功能:
它检查当前运行的 script_name
实例数量。如果您从文件 xyz.py
调用此函数并将 xyz.py
作为参数发送,请记住当前实例也会被计算在内。
如果 num_instance
> 1,则表示有先前的实例正在运行。
希望这对您有所帮助。