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.