我正在编写一个python脚本,当我运行代码时,运行子流程之后的所有代码都在子流程本身之前执行。因此,例如,这里的程序将在子进程之前运行print(“ blahblafkenrferkfnrnkr”)。
如何做到这一点,以便程序在print("blahblafkenrferkfnrnkr")
执行subprocess.Popen("timeout 60 python2 script.py", shell=True, executable="/bin/bash")
后运行(for 60 seconds as I am trying to do)
print("blahblh")
subprocess.Popen("timeout 60 python2 script.py", shell=True, executable="/bin/bash")
print("blahblafkenrferkfnrnkr")
答案 0 :(得分:0)
Popen
启动一个进程以在后台执行,而您不必等待它完成。要么:
Popen
的高级包装之一(例如,默认情况下为subprocess.run
或subprocess.check*
系列之一)wait
(communicate
也可以,但是由于您没有发送/捕获输入/输出,因此没有必要)第2个示例就是:
print("blahblh")
proc = subprocess.Popen("timeout 60 python2 script.py", shell=True, executable="/bin/bash")
proc.wait()
print("blahblafkenrferkfnrnkr")