我遇到了从shell脚本调用我的python脚本的问题。由于某些问题,执行一个Python脚本需要花费大量时间。 现在在这种情况下,我想在我的python脚本上设置一个超时,如果它超过“n”分钟,当前脚本的执行应该终止并转移到下一个脚本执行。
MasterScript.sh file contain multiple Python scripts like
script1.py
script2.py - this script is taking more time.. if it more then 5 minute, script execution should terminiate and move to next one.
script3.py
答案 0 :(得分:1)
使用timeout
timeout --kill-after=305 300 script2.py
答案 1 :(得分:1)
说这是你的test1.py脚本:
#! /usr/bin/python
import time
import sys
sys.stdout.write("in test1\n")
time.sleep(20)
sys.stdout.write("Done")
这应该在打印前睡20秒,然后完成"完成"但是我们会从我们的shell脚本中删除它。
另一个在test1.py
之后运行的test.py脚本#! /usr/bin/python
import sys
sys.stdout.write("In test2\n")
sys.stdout.write("Done")
现在运行它们的shell脚本:
#! /bin/bash
timeout 10 python test1.py
python test2.py