Ниже показано, что я хочу:
Существует основная программа: main. Она выполнит subprocess:subp
.
. В подпрограмме также выполняется subprocess:subsubp
.
Я хочу завершить subsubp
в main
(Тем не менее, я даже не могу выполнить subsubp
в main
в Rpi, но могу выполнить в Windows, как показано в коде ниже.) Я решил эту проблему, изменив start_new_session на preexec_fn = os.setsid Так почему он не можетработать и после того, как он может работать, как я могу убить subsubp
в основном.Я знаю, что могу убить subp в main, используя subp.kill()
.
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
сделать что-то в то время как