162 Stimmen

Wie kann ich ein Skript im Hintergrund laufen lassen, auch wenn ich mich über SSH abmelde?

Ich habe ein Python-Skript bgservice.py und ich möchte, dass es ständig läuft, da es Teil des von mir erstellten Webdienstes ist. Wie kann ich es kontinuierlich laufen lassen, auch wenn ich mich über SSH abmelde?

1voto

Nikhil Sahu Punkte 2240

Wenn Sie möchten, dass der Prozess immer läuft, unabhängig davon, ob Sie angemeldet sind oder nicht, sollten Sie den Prozess als Daemon laufen lassen.

Aufsichtsbehörde ist eine großartige, sofort einsatzbereite Lösung, die zur Daemonisierung jedes Prozesses verwendet werden kann. Es hat ein weiteres Dienstprogramm zur Kontrolle supervisorctl die zur Überwachung von Prozessen verwendet werden können, die von Supervisor ausgeführt werden.

Sie müssen keinen zusätzlichen Code schreiben oder bestehende Skripte ändern, damit dies funktioniert. Außerdem macht die ausführliche Dokumentation diesen Prozess sehr viel einfacher.

Nachdem ich mir stundenlang den Kopf über Python-Daemon zerbrochen habe, ist Supervisor die Lösung, die bei mir in wenigen Minuten funktioniert hat.

Ich hoffe, das hilft jemandem, der versucht, python-daemon zum Laufen zu bringen

1voto

Sie können auch Folgendes verwenden Yapdi :

Grundlegende Verwendung:

import yapdi

daemon = yapdi.Daemon()
retcode = daemon.daemonize()

# This would run in daemon mode; output is not visible
if retcode == yapdi.OPERATION_SUCCESSFUL:
print('Hello Daemon')

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X