从脚本启动不同的脚本

问题描述 投票:0回答:1

我想在PythonAnywhere上运行几个脚本。为了确保脚本没有被杀死,我想在五分钟的间隔内检查它们的状态(基于https://help.pythonanywhere.com/pages/LongRunningTasks/)。

出现两个问题:1。在每五分钟运行一次的脚本中,我想检查其他脚本(script2,script3)是否仍然存在。如果没有,我显然想要运行它们。但是如何在没有script1“卡住”的情况下从一个脚本(script1)运行多个脚本?即如何从一个脚本同时启动两个脚本?

  1. 如果我只是尝试使用“import script2”运行脚本,则会出错

ImportError:没有名为script2的模块

如何告诉Python该脚本位于不同的文件夹中(因为这必须是问题)?

提前致谢!

python python-3.x subprocess
1个回答
0
投票

试试这个:

import time
import subprocess 

def check_process(proc,path):    
    if proc.poll()!=1:
        print('%s still running' % proc)
    elif proc.poll()==1:#will give a 1 if the child process has been killed
        print('%s is dead. Re-running')
        subprocess.Popen(['python.exe', path])

script1=subprocess.Popen(['python.exe', pathscript1])
script2=subprocess.Popen(['python.exe', pathscript2])

while True:
    check_process(script1,pathscript1)
    check_process(script2,pathscript2)
    time.sleep(300) 
© www.soinside.com 2019 - 2024. All rights reserved.