Forking wahrscheinlich das Richtige ist, hier zu tun, und daemonising besser, aber eine einfache Möglichkeit, meist den gleichen Effekt zu erhalten, ohne das Skript zu ändern ist (als Kommentar auf der Frage schlägt) um das Skript einfach in den Hintergrund zu stellen.
Was &
nicht tut, ist jedoch vollständig die Verbindung zum Terminal aufzugeben. Dafür verwenden nohup
:
(nohup python foo.py >foo-output &)
ist eine einfache Möglichkeit, ein Skript von daemonising. Die nohup
bedeutet, dass der Prozess nicht beendet wird, wenn das steuernde Terminal geht, und das Skript in den Hintergrund einer Subshell (...)
setzt, die dann beendet wird, bedeutet, dass es als Kind des init-Prozesses endet. Das ist das meiste von dem, was "Daemonisierung" bedeutet.
Dies ist eine allgemeinere Technik als die ursprüngliche Frage wirklich fordert, aber es ist dennoch nützlich.
Sie könnten Ihr Skript einfach so ausführen: 'python script.py &' oder den Prozess mit den Antworten in dieser Frage dämonisieren: http://stackoverflow.com/questions/473620/how-do-you-create- a-daemon-in-python – Collin