繁体   English   中英

Python 脚本崩溃后不会重新启动

[英]Python script does not restart after it crashes

我有一个 python 脚本,它正在做一些名为“python1.py”的东西。 有时因为连接问题,它崩溃了。 我有另一个名为“loop.py”的脚本,它应该在第一个崩溃并重新启动它时监视它。 到目前为止,它无法重新启动。 意思是,当出现异常(IOError 或 WatsonException(我使用的是 Watson API))时,脚本会停止

python1.py 是这样的:

def mainfunction ():
    a = randrange(0, 1)
    Print (' my routine is doing something')
    if a = 1 :
        Print ('a = 1 ')
    else :
        Print (' a is not equals to 1') 

mainfunction ()

应该重新启动第一个脚本的另一个脚本是这样的:

def loopApp():
    while True :
        try:
            python1.mainfunction ()
        except IOError :
            print (' IOError y')
        except WatsonException :
            print (' Exception from watson API')

loopApp ()

每次发生异常时,python1.py 都应该重新启动,但事实并非如此。

我找到了使用 python subprocess的方法。 它工作正常,我可以得到预期的工作。

def loopApp():
   
    loop = 1
    while loop == 1:
        print ("wa_loop is starting")
        try:
            process = subprocess.call(['python', 'wa_dir_watch.py'])
        except 'IOError':
            print ("\nretrying after IOError")
            continue         
        except KeyboardInterrupt:
            print ("\nstopped by user Ctr+C")
            quit() 
            
loopApp()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM