Ich versuche herauszufinden, wie ein Befehl im Hintergrund ausgeführt und später in den Vordergrund gestellt wird. Ich habe genug von Tutorials und Antworten, in denen Leute sagen, dass es einfach ist. Fügen Sie einfach &
das Ende des Befehls hinzu, damit er im Hintergrund ausgeführt wird. Es funktioniert nur innerhalb eines einzelnen Terminalfensters. Ich möchte den Befehl in einem Terminal in den Hintergrund stellen und ihn nach dem erneuten Öffnen des Terminals wieder in den Vordergrund stellen
Beispiel:
$ grunt &
$ jobs
$ [1]+ Running grunt &
Natürlich wird nach dem Schließen des Terminals kein Job gefunden.
Nächstes Beispiel:
$ grunt & disown #the same behavior has: $ setsid grunt &
$ jobs
$ [nothing] #but ps shows that grunt is working
after close terminal, grunt doesn't work
Was habe ich falsch gemacht? Könnte mir jemand erklären, wie man den Befehl im Hintergrund ausführt und wieder in den Vordergrund rückt.
Installieren
screen
:Start
screen
:Führen Sie Ihre Befehle aus, was Sie brauchen.
Trennen Sie sich
screen
vom Terminal (Ihre Befehle werden weiterhin ausgeführt):Drücken Sie CTRL+ a+d
Schließen Sie das Terminal
Öffnen Sie ein anderes Terminal und schließen Sie die letzte
screen
Sitzung erneut an:Weitere Informationen und zusätzliche Optionen zum
screen
Nachschauenman screen
.quelle
tmux
als Alternative zuscreen
.Haben Sie versucht:
byobu
odertmux
welche Terminal-Multiplexer sind. Nicht genau das, wonach Sie suchen, aber es hat ein ähnliches Verhalten.Führen Sie dann Ihren Befehl aus, um Folgendes zu trennen:
Wieder aufzunehmen:
Siehe https://help.ubuntu.com/community/Screen
quelle