Wie schicke ich einen Prozess in den Hintergrund und in den Vordergrund?

Wie schicke ich einen Prozess in den Hintergrund und in den Vordergrund?

Wenn ich das tue ping google.com &, wird der Prozess in den Hintergrund gestellt und zeigt mir weiterhin die Ping-Details an. Ich kann das Terminal immer noch mit anderen Befehlen verwenden, aber die Ausgabe von Ping und die Ausgabe anderer Befehle werden vermischt (was kein Problem ist), aber ich kann diesen Ping-Prozess überhaupt nicht beenden.

Dazu möchte ich es in den Vordergrund bringen und dann Strg + C oder so etwas drücken. Ich habe versucht, zu verwenden fg, aber das hat auch nicht funktioniert. Wie kann ich es also ping google.com &wieder in den Vordergrund bringen, nachdem ich am Ende meines Ping-Befehls die Eingabetaste gedrückt habe?

Antwort1

fgist der richtige Befehl, um einen Job in den Vordergrund zu bringen, aber wenn mehrere Jobs laufen, sollten Sie die Jobnummer angeben. Wenn Sie nur eingeben fg, wird der letzte im Hintergrund laufende Job (von der Shell als aktueller Job betrachtet) in den Vordergrund gebracht.

Hier finden Sie die aktuellen Jobs:

$ jobs
[1]+     ping google.com &

Stellen Sie den Job in den Vordergrund, indem Sie die Nummer angeben:

fg %1

Der Befehl wird möglicherweise durch die Ausgabe des laufenden Prozesses unterbrochen, funktioniert aber trotzdem. Sie können die Unterbrechung ignorieren.

Drücken Sie dann ctrl+, cum den Vorgang zu unterbrechen und zu stoppen

Wie in einem Kommentar erwähnt, können Sie Signale auch per Jobnummer senden, zum Beispielkill %1

&Der Vollständigkeit halber: Wenn Sie beim Aufrufen des Prozesses nicht die Option verwendet haben , können Sie ihn in den Hintergrund versetzen, indem Sie ihn zunächst mit ctrl+ einfrieren zund dannbg

verwandte Informationen