Wie kann ich einen Script oder Befehl unter Linux im Hintergrund ausführen lassen (SSH schließen ==> Script/Befehl läuft weiter)?
Hi Leute!
Ich suche nach einer Möglichkeit auf meinem vServer (mit Linux) einen Minecraft-Server über "./start.sh" zu starten. Das kann ich! Aber wie kann ich diesen weiterlaufen lassen wenn ich SSH schließe. Und ist es möglich dann nach belieben mit einer neuen SSH sitzung auf die Konsole zuzugreifen und diese zu nutzen?
LG Sprax2013
4 Antworten
Siehe hier: http://wiki.ubuntuusers.de/SCREEN
Der screen-Befehl. Nicht einfach zu durchblicken, aber sehr mächtig. Ist insabesondere bei längeren Installationen über SSH zu empfehlen, wenn die Verbindung schon mal abrechen möchte ...
Hallo
Aber wie kann ich diesen weiterlaufen lassen wenn ich SSH schließe.
Das Kommando dafür lautet screen und Eine Beschreibung davon findest Du mit diesem Abfragebefehl:
man screen
Ein Aufruf könnte zum Beispiel so aussehen:
screen -S SERVER ./start.sh
Dadurch wird das Script als Session behandelt und man kann auf dem Terminal weiterarbeiten bzw. sich vom Server abmelden.
Der Aufbau der Syntax ist, hier beispielhaft erklärt, folgender:
Aufruf Parameter Sessionname Programmname Parameter und Optionen ------------------------------------------------------------------------------- screen -S Minecraft java -jar craftbukkit.jar screen -S Editor nano dateiname.txt screen -S Editor2 nano
Der Sessionname ist frei wählbar und kann auch weggelassen werden.
Möchte man nun zu einem späteren Zeitpunkt wieder nachsehen was mit der Screen-Session los ist, dann gibt man folgendes Kommando ein:
screen -ls # Das listet alle laufenden Sessions auf
Das sieht dann so aus:
There is a screen on: 1889.Editor (Detached) 1 Socket in /var/run/uscreens/S-linuxhase.
Eine weitere Session geht mit:
screen -mdS Editor2 nano dateiname.txt
Das Ergebnis sieht bei Abfrage dann so aus:
screen -ls There are screens on: 2033.Editor2 (Detached) 1889.Editor (Detached) 2 Sockets in /var/run/uscreens/S-linuxhase.
Mit diesem Befehl kommst Du in die Screen-Sitzung der Session um das Programm zu beobachten oder zu administrieren.:
screen -x "java" # oder alternativ die Session-ID
Um aus der Session heraus zu kommen ohne die Session zu schließen, müssen die Tasten STRG+A+D gleichzeitig gedrückt werden.
Wenn Du screen beenden willst geht das so:
screen -r Sessionname/Nummer -X quit
Du kannst so viele Sessions laufen haben wie Du RAM zur Verfügung hast und kannst die Sessions natürlich auch einzeln schließen, umbenennen oder zwischen den einzelnen Sessions wechseln. Alles Weitere entnimmst Du bitte der Manpage oder benutzt mal eine Suchmaschine Deiner Wahl.
Linuxhase
Mach z.b. screen session. Es gibt x anleitungen eigentlich
Mach am besten screen -S server ./start.sh und dann später wenn du wieder darauf zugreifen möchtest einfach ´screen -r server wobei man server durch irgendein namen ersetzen kann
MfG Jniklas