2017-08-16 88 views
0

启动脚本我有被执行的Python脚本script_A.py。在此脚本中,我运行另一个脚本,script_B.py的Python:从另一个脚本

的事情是,script_A.py大概需要一分钟的时间来执行,而script_B.py大概需要20分钟。

所以我的问题是:

  • 请问我的script_B来,如果我的script_A正常停止(完成任务后)停止?

  • 如果我的script_A因错误(或“kill命令”或其他)停止,我的script_B会被停止吗?

对于这两个问题:

  • 什么解决的办法,使script_B最后直到它结束正常吗?

编辑:

我在树莓派的工作。在script_A.py,我有这样的事情:

for i in range(0,100): 
    SOME CALCULATIONS 
    if i == 20: 
     os.system("sudo python script_B.py") 

环路正在更少的时间比script_B,但我script_B在同一时间执行...

而且,有一种知道script_B何时完成的方法?因为只有第一个脚本的“打印”才会显示!

+1

“这里面的脚本,我运行另一个脚本,script_B.py。”你能告诉我们你如何做的代码吗?有很多方法可以做到这一点,你所选择的方式影响了答案 –

+0

这取决于如果脚本拦截与否。你能否显示你的代码? –

+0

我已更新我的问题。 – AladdinSane

回答

0

你可以这样做:

import os 
try: 
    os.system('python script_B.py') 
except: 
    pass 
#do script a 

如果你想在同一时间,你将需要使用多线程做这些。

相关问题