Ich führe Ubuntu Server 16.04 aus und habe es immer noch im Griff. Ich habe ein Python-Skript, das in einer Endlosschleife ausgeführt wird und eine Aufgabe ausführt, die mit dem Abrufen von Daten von einer externen Quelle zusammenhängt.
Ich versuche, dieses Python-Skript nach (oder während) dem Booten zu starten und dann im Hintergrund auszuführen.
Ich habe versucht, rc.local zu bearbeiten, aber die Startsequenz hängt nur, da das Skript weiter ausgeführt wird.
Jeder Rat würde sehr geschätzt werden.
Antworten:
0 für die Antwort № 1In einem der Kommentare wird erwähnt, dass Sie Cronjobs verwenden können, um Skripte zu bestimmten Zeiten zu starten, z. B. beim Start (wie gewünscht). Es würde auch die Ausführung nicht stoppen, wie Sie es bei rc.local erwähnt haben
Die Zeile, die Sie zur Chronjob-Liste hinzufügen müssen, lautet -
@reboot python /home/MyPythonScript.py
Hier finden Sie einige nützliche Tutorials, die Ihnen zeigen, wie Sie dies tun können: http://kvz.io/blog/2007/07/29/schedule-tasks-on-linux-using-crontab/ https://help.ubuntu.com/community/CronHowto
Wenn Sie es mit Python selbst tun möchten, gibt es diese praktische Python-Bibliothek - https://pypi.python.org/pypi/python-crontab/
0 für die Antwort № 2
tmux ist ein großartiges Dienstprogramm für Hintergrund-Desktops. Sie können es dafür verwenden:
sudo apt get install tmux
Dann füge es zu deiner rc.local hinzu:
/usr/bin/tmux new-session -d "python /path/to/your/script"
Nach dem Booten können Sie es wie folgt verwenden:
tmux attach
Und Ihre Konsole wird mit dem letzten Desktop verbunden, der im Hintergrund arbeitet.