Jak stworzyć nowy niezależny proces w Pythonie

Mam pewien kod Pythona, który czasami musi obejmować nowy proces, aby uruchomić skrypt powłoki w sposób „fire and forget”, tj. Bez blokowania. Skrypt powłoki nie komunikuje się z oryginalnym kodem Pythona i prawdopodobnie zakończy proces wywoływania Pythona, więc uruchomiony skrypt powłoki nie może być procesem potomnym wywołującego procesu Pythona. Muszę go uruchomić jako niezależny proces.

Innymi słowy, powiedzmy, że mam mycode.py i uruchamia skrypt.sh. Następnie mycode.py będzie kontynuował przetwarzanie bez blokowania. Skrypt script.sh wykona kilka rzeczy niezależnie, a następnie zatrzyma się i uruchomi ponownie mycode.py. Proces, który uruchamia skrypt.py, musi być całkowicie niezależny od mycode.py. Jak dokładnie mogę to zrobić? Myślę, że subprocess.Popen nie będzie blokować, ale nadal utworzy proces potomny, który zakończy się, gdy tylko mycode.py zatrzyma się, co nie jest tym, czego chcę.

questionAnswers(2)

yourAnswerToTheQuestion