Zitat von Artimis;25006
Da ein Init-Script normal nur "start" und "stop", eventuell auch "restart" für die Faulen, unterstützen soll und somit a priori nicht mehrere Instanzen unterstützt, würde ich für jeden CS:S-Server ein eigenes Init-Script anlegen. Das ist auch deutlich ressourcenschonender, da es keinen Sinn macht, alle Server gleichzeitig den Server lahmlegen zu lassen.
Ich weiß was ein init-Script ist. Viele, die irgendetwas unter dem namen anbieten anscheinend nicht (Such bei Google mal nach init scripten... auauau!)
Zitat von Artimis;25006
Was das killall angeht: Entweder, du nutzt pro CS:S-Instanz einen eigenen Benutzer oder läst es "vernünftig" über die PID. Die variable "$!" gibt die PID des letzten BG-Prozesses aus. Musst mal schauen, ob das klappt.
ich weiß auch, wie ich das im Prinzip handhaben soll, aber aber wie gesagt: Ich bin zu faul mir selbst eins zu schreiben, deswegen habe ich gesucht. Leider tauchten bei der suche auch Skripte von "Spezialisten" auf, die die killall-variante eingesetzt haben.
Mein Problem:
Ich wollte das ganze dann doch selbst schreiben.
Ansatz 1: start-stop-daemon. srcds ist aber kein daemon (läuft immer im vordergrund. dafür gibts --background, allerdings wird's beim killen schwierig. srcds forkt (zumindest bei l4d) einen serverprozess ab. Ich kille ich den, startet srcds eine neue instanz. Kille ich srcds, bleibt der server am leben. Und wenn der server aus irgendeinem grund mal crasht, wird er mit einer neuen pid neu gestartet. Also kann man hier nicht sauber killen.
Ansatz 2: screen verwenden. Sobald ich aber su oder sudo verwende um screen als der server-user zu starten, bekomm eich Ärger: "Cannot open your terminal '/dev/pts/xx' - please check."
Nach einiger Bastelei habe ich die Lust verloren und Nackenschmerzen bekommen. deswegen möchte ich mal horchen, wie ihr das so geregelt habt.