it-swarm.com.de

führen Sie ein Shell-Skript aus und setzen Sie es sofort in den Hintergrund. Sie können jedoch weiterhin die Ausgabe überprüfen

Wie kann ich ein Shell-Skript ausführen und es sofort im Hintergrund ausführen? Die Ausgabe kann jedoch jederzeit durch das Tailing von /tmp/output.txt überprüft werden

Es wäre schön, wenn ich den Prozess später auch in den Vordergrund stellen könnte.

PS Es wäre wirklich cool, wenn Sie mir auch zeigen könnten, wie Sie den Hintergrundprozess an einen Gnu-Bildschirm "senden" können, der möglicherweise nicht initialisiert wurde.

Einen Prozess in den Hintergrund stellen, wenn Sie ihn starten

Fügen Sie nach dem Befehl einfach ein kaufmännisches Und-Zeichen (&) hinzu.

Wenn das Programm in den Standardausgang schreibt, schreibt es trotzdem auf Ihre Konsole/Ihr Terminal. 

Um den Prozess in den Vordergrund zu stellen, verwenden Sie einfach den Befehl fg.

(Mit jobs können Sie eine Liste von Jobs im Hintergrund anzeigen.)

zum Beispiel:

sh -c 'sleep 3 && echo I just woke up' & jobs

Hintergrund eines aktuell laufenden Prozesses

Wenn Sie den Prozess bereits im Vordergrund gestartet haben, ihn jedoch in den Hintergrund verschieben möchten, haben Sie folgende Möglichkeiten:

  1. Drücken Sie Strg + z, um den aktuellen Prozess in den Ruhezustand zu versetzen und zu Ihrer Shell zurückzukehren. (Dieser Vorgang wird angehalten, bis Sie ein weiteres Signal senden.)
  2. Führen Sie den Befehl bg aus, um den Prozess fortzusetzen. Er muss jedoch im Hintergrund statt im Vordergrund ausgeführt werden.
16
Jon Wolski

Eine andere Möglichkeit besteht darin, den Befehl Nohup mit & am Zeilenende zu verwenden.

Etwas wie das

Nohup whatevercommandyouwant whateverparameters &

Dadurch wird es im Hintergrund ausgeführt und die Ausgabe an eine Nohup.log-Datei gesendet.

2
israelss