Próbuję przenieść skrypt powłoki do znacznie bardziej czytelnej wersji Pythona. Oryginalny skrypt powłoki uruchamia w tle kilka procesów (programy narzędziowe, monitory itp.) Za pomocą „&”. Jak mogę osiągnąć ten sam efekt w Pythonie? Chciałbym, aby te procesy nie umarły po zakończeniu skryptów Pythona. Jestem pewien, że ma to jakoś związek z koncepcją demona, ale nie mogłem znaleźć łatwego sposobu.
subprocess.Popen()
to nowy zalecany sposób od 2010 r. (Jesteśmy teraz w 2015 r.) I (3) zduplikowane pytanie przekierowujące tutaj również ma akceptowaną odpowiedź na temat subprocess.Popen()
. Pozdrawiam :-)
subprocess.Popen("<command>")
w pliku <command> prowadzonym przez odpowiedni shebang. Działa idealnie dla mnie (Debian) ze skryptami bash i python, domyślnie shell
si przetrwa proces nadrzędny. stdout
idzie do tego samego terminalu, co rodzic. To działa podobnie jak &
w powłoce, która była żądaniem OP. Ale do diabła, wszystkie pytania działają bardzo skomplikowane, a krótkie testy pokazały to w