ubuntuusers.de

"service cron stop" terminates screen session

Status: Gelöst | Ubuntu-Version: Ubuntu 15.10 (Wily Werewolf)
Antworten |

t_z_web

Anmeldungsdatum:
6. Februar 2009

Beiträge: 74

Hallo,

ich erstelle gerade für einen Minecraft-Server die Start-Skripte. Dabei baue ich auf dem Extendable Minecraft Server Manager (EMSM) auf http://emsm.readthedocs.org/en/latest/. Dieser ist in Python geschrieben und startet die Server in einer Screen-Session:

1
2
3
4
5
sys_cmd = "{screen} -dmS {screen_name} {start_cmd}".format(
    screen = _SCREEN,
    screen_name = shlex.quote(self.screen_name()),
    start_cmd = self._server.start_cmd()
    )

Beim Systemstart, sowie jede weitere Minute wird über ein Shell-Script überprüft, ob der Server noch online ist. Abhängig von einer Konfigurationsdatei wird der Server neugestartet, sollte er hängen oder offline sein. Das entsprechende Shell-Script wird von cron (/etc/crontab) ausgeführt.

Leider habe ich nun folgendes Problem: Wenn Cron beendet wird (service stop cron), werden auch die Server beendet. Auch wenn ich das Script über den Umweg nohup starte ist dies der Fall.

Der Eintrag in der /etc/crontab sieht so aus:

1
*/1 *   * * *   <nutzer>    /opt/minecraft/<script>.sh

Wie kann ich das beenden der Session beim beenden von Cron verhindern?

Vielen Dank im Voraus.

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Wieso stoppst Du cron?

t_z_web

(Themenstarter)

Anmeldungsdatum:
6. Februar 2009

Beiträge: 74

1. Zu Wartungsarbeiten ... wenn die Skripts mal nicht laufen dürfen.

2. Habe ich die Angst, dass - auch wenn es sehr unwahrscheinlich ist - Cron vielleicht mal abstürzt und dann die Server mitreißt.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

t_z_web schrieb:

2. Habe ich die Angst, dass - auch wenn es sehr unwahrscheinlich ist - Cron vielleicht mal abstürzt und dann die Server mitreißt.

cron ist wesentlich stabiler als jede andere Komponente, die auf deinem Server lauft. Und als deine Desktop-Software sowieso.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13205

t_z_web schrieb:

1. Zu Wartungsarbeiten ... wenn die Skripts mal nicht laufen dürfen.

2. Habe ich die Angst, dass - auch wenn es sehr unwahrscheinlich ist - Cron vielleicht mal abstürzt und dann die Server mitreißt.

Das ist unbegründet. Wenn Du die Skripte zu bestimmten Zeiten nicht laufen lassen darfst, dann leg doch irgendwo eine Datei hin, z.B. mit touch /tmp/inhibit und frag dann am Anfang des Skriptes ab, ob sie existiert und terminiere direkt, falls ja:

1
test -e /tmp/inhibit && exit

t_z_web

(Themenstarter)

Anmeldungsdatum:
6. Februar 2009

Beiträge: 74

Vielen Dank. So in der Art habe ich es nun auch gemacht. Da ich das ganze jedoch noch mit nem Webinterface gekoppelt habe, war es für mich einfacher auf nen Dateiinhalt zu prüfen, statt auf das existieren der Datei.

Antworten |