我有我的python应用程序,该应用程序使用硒运行chrome进程。 几天后,应用程序挂起,甚至无法使用ctrl + C退出,因此我猜有些外部服务卡在中断处理程序上,无论如何我都无法调试它,因为没有错误返回。
我想做的是在2小时内没有日志/输出时重新启动应用程序。
我有一个包装器,每次使用while循环就可以在每次完成代码时运行代码:
import schedule, os
import subprocess
import ctypes
from instapy.time_util import sleep
from tendo import singleton
ctypes.windll.kernel32.SetConsoleTitleW(os.path.basename(os.path.normpath(os.getcwd())))
me = singleton.SingleInstance() # will sys.exit(-1) if other instance is running
def job():
print(os.getcwd())
command = ['python', 'myapp.py']
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
process.communicate()
print (process.returncode)
# this is our break between runs
schedule.every(5).to(10).minutes.do(job)
# run immed
job()
while True:
sleep(120)
schedule.run_pending()
如果不打印任何日志,我应该在此处添加什么以终止该进程?我使用记录器模块。