GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie stellt man einen Hintergrundjob aus einer früheren Shell wieder her?

Für diese Frage gibt es hier bereits Antworten :Vor 8 Jahren geschlossen.

Mögliches Duplikat:
Wie kann ich einen laufenden Prozess verwerfen und ihn einer neuen Bildschirm-Shell zuordnen?

Ich habe einen Befehl gestartet, der sehr lange dauert.
Ich musste die Verbindung trennen, also habe ich ihn in den Hintergrund verschoben (mit STRG+Z und bg). ) vor dem Beenden.

Etwa so:

$ my_command
***command is beeing executed and is taking a long time***
^Z
[1]+  Stopped                 my_command
$ bg
[1]+ my_command &
$ exit

Ich habe die Verbindung wiederhergestellt und kann den Befehl in der Prozessliste sehen, kann aber mit fg nicht wiederherstellen .

$ fg
-bash: fg: current: no such job

Wie stelle ich meinen Job im Vordergrund wieder her?

Akzeptierte Antwort:

Wenn Sie bereits irgendwo etwas gestartet, es in den Hintergrund gestellt haben und es jetzt an ein neues Terminal anhängen müssen, können Sie reptyr verwenden um es wieder anzubringen. (Der man Seite fasst den Befehl zusammen als „Reparent a running program to a new terminal“.)

Der Grund, warum Sie es nicht im Befehl „jobs“ sehen oder „fg“ verwenden können, um es in den Vordergrund zu bringen, liegt darin, dass diese Befehle tatsächlich in die Shell integriert sind. Technisch gesehen trennen sie die Prozesse nicht von dem Terminal, mit dem Sie verbunden sind. Wenn Sie also die Shell verlassen, sollten auch beenden (Sie sollten eine Warnung erhalten, wenn Sie versuchen, zu beenden).


Linux
  1. Wie weist man die Ausgabe eines Befehls einer Shell-Variablen zu?

  2. Wie erkennt man, ob die Shell von ssh aus gesteuert wird?

  3. So überprüfen Sie, ob ein Shell-Befehl von PHP existiert

  4. Wie verwende ich den su-Befehl über die Adb-Shell?

  5. Wie führe ich den Vim-Befehl von der Shell aus?

So entfernen Sie einen Befehl aus dem Verlauf in Linux

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

So verwenden Sie den Declare-Befehl in der Linux Bash Shell

So verwenden Sie den Jobs-Befehl unter Linux

Wie führe ich einen Befehl in einem Shell-Skript aus?

Wie liest man Befehlszeilenargumente in Shell-Skripten?