我有一个服务器,我想在它上面运行Python(2.7)线程服务器脚本。你知道吗
我有一个cron作业,它每分钟都验证脚本是否启动并运行,如果是,就让它继续工作,否则就启动它。你知道吗
我已经搜索并找到了几种解决方案,使这个检查工作,但没有一个解决方案,我发现似乎工作。你知道吗
我希望始终在服务器上运行的Python脚本称为服务器侦听器.py“
那么,cron作业运行脚本wd.sh公司包含:
#!/bin/bash
python /home2/ofekafsc/public_html/cgi-bin/wd.py
现在,脚本wd.py公司有一个我尝试使用的解决方案,但我从未收到true。你知道吗
我正在尝试检查进程是否正在运行,如果正在运行,则不执行任何操作,否则启动它。我的问题是它总是返回FALSE(因为服务器没有运行)
代码:
#!/usr/bin/python
import subprocess
import psutil
def running3(program, scriptname):
for pid in psutil.pids(): # Iterates over all process-ID's found by psutil,
try:
p = psutil.Process(pid)
if program in p.name():
for arg in p.cmdline():
if scriptname in str(arg):
return True
else:
pass
else:
pass
except Exception as e:
try:
f = open("/home2/ofekafsc/public_html/cgi-bin/ERRORLOG.txt", "w+")
f.write(str(e))
f.close()
except Exception as e:
print(str(e))
if(running3("python", "serverListener.py")):
print("RUNNING")
sys.exit()
else:
subprocess.call("/home2/ofekafsc/public_html/cgi-bin/serverListener.py")
如前所述,上面的代码不起作用。你知道吗
循环会发现:
Program name : python
arg in cmdline: python
arg in cmdline: /home2/ofekafsc/public_html/cgi-bin/wd.py
它找不到serverListener.py
脚本,即使它是第一次从这个脚本启动。你知道吗
我认为这可能与服务器上的用户和权限有关,但由于我从不手动调用脚本,因此我不认为这是问题的原因。你知道吗
任何帮助都将受到感激。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐