启动启动程序并等待它们在Python中完成的脚本
我有一个Perl脚本,它启动一些程序,然后在程序在后台运行时结束。我想编写一个Python脚本,它能够等待那些启动的程序完成,而不仅仅是Perl脚本 我试过这个:启动启动程序并等待它们在Python中完成的脚本,python,linux,perl,subprocess,python-os,Python,Linux,Perl,Subprocess,Python Os,我有一个Perl脚本,它启动一些程序,然后在程序在后台运行时结束。我想编写一个Python脚本,它能够等待那些启动的程序完成,而不仅仅是Perl脚本 我试过这个: import subprocess subprocess.call(('./perl_script.pl')) 这是: import subprocess p = subprocess.Popen(('./perl_script.pl')) p.wait() 但在这两种情况下,程序都在perl_script.pl完成时完成,而
import subprocess
subprocess.call(('./perl_script.pl'))
这是:
import subprocess
p = subprocess.Popen(('./perl_script.pl'))
p.wait()
但在这两种情况下,程序都在perl_script.pl完成时完成,而不是在启动的程序完成时完成 为什么不在perl脚本中等待启动的程序结束呢?这听起来比从一个脚本控制在另一个脚本中启动的程序要容易得多;孤立进程由init进程继承。但是你看。(很难看出您将如何在您的用例中利用它,特别是在python中。)@GilHamilton:
prctl(PR\u SET\u CHILD\u SUBREAPER)
可以在python中使用ctypes
调用。但是我会先尝试shell=True
并重定向stdin/stdout/stderr。。。(对于博士生导师的老剧本,是的)