我正在编写一个可以执行外部bash脚本的python脚本。这个bash脚本做了一些事情,在它完成执行后,它将终止python进程,并可能重启机器。
根据设计,bash脚本会杀死python进程并重新启动机器,但我不确定它是否仍会继续执行,即使它的父python进程死了。由于机器将在bash脚本完成后重新启动,因此我对其输出不感兴趣。
即使父python进程死了,bash脚本仍会继续运行吗?
答案 0 :(得分:1)
如果您使用:
os.system('/path/to/script.sh &')
或
subprocess.call('/path/to/script.sh &', shell=True)
即使python脚本死了,这个过程也会继续进行。
如果您总是要重新启动,请让操作系统杀死父级,您不必担心。
答案 1 :(得分:0)
是肯定的。您可以启动一个子进程,该进程可以在启动它的进程启动后继续运行。 Here's how未使用shell=True
或os.system()
。