Wie kann ein losgelöster Hintergrundprozess unter Linux in Bash oder Python erzeugt werden?

Ich habe ein lang laufendes Python-Skript unter Linux und in einigen Situationen muss es einen Befehl ausführen, um sich selbst zu stoppen und neu zu starten. Daher hätte ich gerne ein externes Skript (entweder in Bash oder Python), das den Befehl zum Neustart des ursprünglichen Skripts ausführt. Lassen Sie mich näher darauf eingehen.

Angenommen, ich habe original_script.py. In original_script.py habe ich dies in einer Endlosschleife:

if some_error_condition:
    somehow call external script external.sh or external.py

Nehmen wir an, ich kann external.sh aufrufen und es enthält Folgendes:

#!/bin/bash
command_to_restart_original_script

Schließlich kenne ich den Befehl "command_to_restart_original_script". Das ist nicht das Problem. Was benötigt wird, ist der Python-Befehl "Externes Skript external.sh irgendwie aufrufen". Ich benötige das externe Skript (das ein untergeordneter Prozess ist), um weiterhin ausgeführt zu werden, wenn der übergeordnete Prozess original_script.py neu gestartet wird. Wie mache ich das

Antworten auf die Frage(2)

Ihre Antwort auf die Frage