
Das System ist Debian Whezy x64. Ich verwende derzeit screen, um Programme als Benutzer statt als Root zu starten. Es sieht so aus: In /etc/rc.local rufe ich auf
su -c "/home/user/scripts/startup" user
Dann rufe ich in /home/user/scripts/startup einige Python-Programme wie folgt auf:
screen -dmS my_program python /home/user/my_program.py
Sie starten alle problemlos. Das Problem ist, dass diese Programme dazu neigen, sich etwa jede Woche selbst zu aktualisieren. Wenn das Programm aktualisiert wird, versucht es, sich selbst neu zu starten. Beim Neustart des Programms wird die Bildschirmsitzung beendet und das Programm startet nicht erneut. Nach einigen Tagen merke ich also, dass das Programm nicht funktioniert und muss es manuell neu starten.
Kann ich etwas tun, damit das Programm nach einem Programmneustart wieder von selbst startet?
Bearbeiten: Ich habe etwas über den „Zombiemodus“ des Bildschirms gelesen, der es ihm ermöglicht, aktiv zu bleiben, aber ich weiß nicht, wie ich ihn beim Booten aufrufen kann.
Danke
Antwort1
Erstellen Sie ein Skript, das in einer Endlosschleife ausgeführt wird und die Ausführung des Programms überwacht.
#!/bin/bash
while true; do ps aux | grep -v grep | grep -q <program> || <start_program>; sleep 5; done
Starten Sie das Skript auf dem Bildschirm.