我想要的是下面的东西:
有一个主程序:main它将执行一个subprocess:subp
。
在subp中,它还会执行subprocess:subsubp
。
我想终止subsubp
中的main
(但是,我什至无法在Rpi的subsubp
中执行main
,但可以在Windows中执行以下代码。)我已通过将start_new_session更改为preexec_fn = os.setsid来解决此问题。
那么,为什么它不起作用,在它起作用之后,我怎么才能杀死main中的subsubp
。我知道我可以使用subp.kill()
杀死main中的subp。
main.py
import subprocess
sub = subprocess.Popen(["python", "sub.py"], stdout = subprocess.PIPE, start_new_session = True,preexec_fn = os.setsid)
sub.py
import subprocess
subsub = subprocess.Popen(["python", "subsub.py"], stdout = subprocess.PIPE, start_new_session = True,preexec_fn = os.setsid)
subsub.py
在一段时间内做某事