Strg-C an Linux Screen senden
Hallo und Servus an die Community.
Ich habe mal eine kurze Frage:
Ich benutze sehr gerne Linux Screen für Steam dedicated Gameserver, aber habe ein Problem wenn ich diese updaten möchte. Ich habe mir hier auch eine Update Shell geschrieben. Leider steht in dem Script aktuell der Befehl um einen Screen zu killen und dann ein Update des Spiels zu machen, was aber wenig Sinn macht, weil ja dann auch kein sicherer Shutdown des Spieleservers erfolgt. Aktuell läuft auf den Servern soweit ich weiß Ubuntu 18.04 (oder 20.04).
Hier das aktuelle Build (Ist-Zustand):
Nun würde ich gerne in die erste Zeile des Update-Shells den Ctrl-C Befehl schreiben, einen Sleep Timer einbauen und nach herunterfahren des Servers das Update starten.
Ungefähr so (Soll-Zustand):
Hat hier jemand eine Lösung für mich?
Google wollte ich an dieser stelle nutzen, hat aber leider nicht so ganz geholfen.
Ich habe noch gefunden: oder
Hat aber leider nicht funktioniert.
Vielen Dank an euch und einen schönen 3. Advent
Dennis / Explo
Ich habe mal eine kurze Frage:
Ich benutze sehr gerne Linux Screen für Steam dedicated Gameserver, aber habe ein Problem wenn ich diese updaten möchte. Ich habe mir hier auch eine Update Shell geschrieben. Leider steht in dem Script aktuell der Befehl um einen Screen zu killen und dann ein Update des Spiels zu machen, was aber wenig Sinn macht, weil ja dann auch kein sicherer Shutdown des Spieleservers erfolgt. Aktuell läuft auf den Servern soweit ich weiß Ubuntu 18.04 (oder 20.04).
Hier das aktuelle Build (Ist-Zustand):
screen -X -S valheim kill
steamcmd +login anonymous +force_install_dir /home/user/steamserver/valheim +app_update 896660 validate +exit
cd /home/user/start/
./valheimstart.sh
Nun würde ich gerne in die erste Zeile des Update-Shells den Ctrl-C Befehl schreiben, einen Sleep Timer einbauen und nach herunterfahren des Servers das Update starten.
Ungefähr so (Soll-Zustand):
screen -? valheim saveshutdown
sleep 20
steamcmd +login anonymous +force_install_dir /home/user/steamserver/valheim +app_update 896660 validate +exit
cd /home/user/start/
./valheimstart.sh
Hat hier jemand eine Lösung für mich?
Google wollte ich an dieser stelle nutzen, hat aber leider nicht so ganz geholfen.
Ich habe noch gefunden:
screen -S session_name -X
screen -S session_name ^X
Vielen Dank an euch und einen schönen 3. Advent
Dennis / Explo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4934292560
Url: https://administrator.de/contentid/4934292560
Ausgedruckt am: 21.11.2024 um 13:11 Uhr
4 Kommentare
Neuester Kommentar
Das kill command kann verschiedene Signale senden, wobei -9 (SIGKILL) und -15 (SIGTERM) wohl die verbreitetsten sind.
Eine Übersicht erhältst du mit:
Oder zB auch siehe hier: https://www.educba.com/linux-kill-signals/
Da siehst du dann auch "-2" (SIGINT), was quasi gleichbedeutend ist mit "Ctrl + c".
Das kannst du dann verwenden, um ein bestimmtes Programm / Prozess / daemon / whatever mit der dazugehörigen PID (process ID) gezielt zu stoppen, zB:
-> Das sucht sich alle Prozesse, die irgendwas mit "valheim" einthalten, gibt dann nur die PID(s) aus und sendet an alle so gefundenen Prozesse eben ein "Ctrl + c".
Eine Übersicht erhältst du mit:
kill -l
Da siehst du dann auch "-2" (SIGINT), was quasi gleichbedeutend ist mit "Ctrl + c".
Das kannst du dann verwenden, um ein bestimmtes Programm / Prozess / daemon / whatever mit der dazugehörigen PID (process ID) gezielt zu stoppen, zB:
for valheim_process_id in $(ps aux | grep -i "valheim" | awk '{print $2}'); do
kill -2 $valheim_process_id
done
-> Das sucht sich alle Prozesse, die irgendwas mit "valheim" einthalten, gibt dann nur die PID(s) aus und sendet an alle so gefundenen Prozesse eben ein "Ctrl + c".