![Linux trennt sich nach einer bestimmten Zeichenfolge vom Prozess](https://rvso.com/image/658345/Linux%20trennt%20sich%20nach%20einer%20bestimmten%20Zeichenfolge%20vom%20Prozess.png)
Ich habe also einen Befehl, der einen Webserver startet, Schritt für Schritt vorgeht und die Ausgabe auf die Standardausgabe überträgt. Er lautet:
step 1...
step 2...
step 3...
server up and running on port 9000
Dies bleibt jedoch beim Warten auf Benutzereingaben hängen (dies ist ein typsicherer Aktivator) und wird beim Starten über die Befehlszeile nicht beendet. Wie kann ich mich von diesem Skript trennen, das auf Benutzereingaben wartet, und es laufen lassen, aber mit der übergeordneten Shell fortfahren? Ich möchte mich trennen, sobald ich sehe, dass der Server läuft.
Antwort1
Option Nr. 1: Wenn der Server läuft, geben Sie Ctrl+Z
und ein bg
. Ctrl+Z
Dadurch wird die Prozessausführung angehalten und bg
der Prozess in den Hintergrund gesendet, wodurch die Shell für neue Benutzereingaben freigegeben wird.Warnen:Ihr Server ist an die laufende Shell gebunden. Wenn Sie sich von dieser Shell abmelden, wird der Server beendet.
Option Nr. 2: Starten Sie Ihr Skript mit nohup
. Dadurch wird es unabhängig vom Terminal ausgeführt. Beispiel: nohup ./activator
.
Option Nr. 3: Starten Sie Ihr Skript innerhalb einer screen
Sitzung und trennen Sie die Verbindung dann über von der Sitzung Ctrl+d
.