Linux screen beenden ohne den Prozess zu killen.?

5 Antworten

Dir ist soweit klar, daß STRG-A-D eine Tastenkombination des Programms 'screen' ist?

Du hast also:

1.) Screen gestartet

2.) für jeden Prozess ein virtuelles Fenster erzeugt

3.) Und dann mit STRG+A-D ein Detach ausgeführt

?

Andernfalls kannst Du die Prozesse auch mit nohup starten und die IO-Kanäle passen umleiten.

Hallo

Linux screen beenden ohne den Prozess zu killen.?

Wieso beendest Du denn screen wenn Du die darin laufenden Prozesse weiterlaufen lassen willst?

Sobald ich aber putty schließe gehen diese aus.

Wenn Du die einzelnen Server in jeweils einer screen-Session gestartet hast aber nicht.

Linuxhase

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102

Entweder screen davor laufen lassen oder nohup davor Schreiben oder mit & am ende laeuft er als background prozess

du kannst deinem eigentlichen command ein 'nohup' voranstellen.

bsp:

`nohup /home/gogs/gogs web &>/dev/null &'

sofern du gogs kennst verstehst du das ja :)

Wie genau hast du diese denn Gestartet?


nxtDev 
Beitragsersteller
 11.06.2018, 18:06

Im Moment läuft nur ein einzelner Server.

start.sh code:

#!/bin/sh

while true

do

java -server -Xmx1G -Xms512M -jar Spigot.jar

sleep 5

done

Ich möchte nur raus aus diesem Screen und das der Server weiterläuft.

0
XGamer11208  11.06.2018, 18:09
@nxtDev

Du bist in keinem Screen, sondern in dem ganz normalen Fenster..

Installier dir Screen "apt-get install screen -y"
Dann starte einen mit "screen -S NAME"
Und starte ganz normal den Server!

1
nxtDev 
Beitragsersteller
 11.06.2018, 19:21
@XGamer11208

Danke, klappt sehr gut! Kann man den Command denn auch Automatisieren, sodass dieser beim Ausführen von der start.sh automatisch ein screen erstellt wird?

start.sh:

#!/bin/sh

while true

do

java -server -Xmx1G -Xms512M -jar Spigot.jar

sleep 5

done

0
XGamer11208  11.06.2018, 20:08
@nxtDev

screen -dmS NAME bash -c '(while true; do java -server -Xmx1G -Xms512M -jar Spigot.jar ; sleep 5 ; done'

0