
Strg+Z schickt den aktuellen Job in den Hintergrund, stoppt ihn aber.
Und wie kann ich einen unterbrochenen Job wieder aufnehmen?
Antwort1
Sie können „bg“ ausführen, um es im Hintergrund auszuführen.
"fg" verschiebt es in den Vordergrund
Beachten Sie, dass bg und fg Jobnummern anstelle von PIDs verwenden. Wenn Sie also mehrere Jobs gleichzeitig ausführen, verwenden Sie den Befehl „jobs“, um die Jobnummern abzurufen.
Antwort2
Sie können ein Programm auch als Hintergrundjob mit einem "&" in der Kommandozeile starten.
z.B
meinprogramm &
beachten Sie, dass die Ausgabe (sowohl stdout als auch stderr) weiterhin an das aktuelle TTY geht, daher ist es im Allgemeinen eine gute Idee, nach /dev/null oder in eine Protokolldatei umzuleiten, etwa so:
meinProgramm > ~/program.log 2>&1 &
In beiden Beispielen handelt es sich um einen Hintergrundjob wie jeden anderen, Sie können ihn also mit „fg“ wieder in den Vordergrund holen (wenn Sie die Ausgabe umgeleitet haben, werden Sie jedoch nicht viel sehen).
Antwort3
Wenn Sie in Bash „bg“ eingeben, wird der Job in den Hintergrund gestellt, bis er blockiert und keine Eingaben mehr benötigt. Die Ausgabe erfolgt weiterhin an STDERR und STDOUT, was möglicherweise nicht hilfreich ist. Sie können „fg“ eingeben, um den Job wieder in den Vordergrund zu bringen.
[adjuster@mx02 ~]$ cp ~/crap/* ~/crap2
(Ctrl-Z)
[1]+ Stopped cp ~/crap ~/crap2
[adjuster@mx02 ~]$ cp ~/crap3/* ~/crap4
(Ctrl-Z)
[2]+ Stopped cp ~/crap3/* ~/crap
[adjuster@mx02 ~]$ jobs
[1]+ Stopped cp ~/crap ~/crap2
[2]+ Stopped cp ~/crap3/* ~/crap
[adjuster@mx02 ~]$ bg 1
[1]- cp ~/crap ~/crap2 &
[1]- Exit 1 cp ~/crap ~/crap2
[adjuster@mx02 ~]$ fg 2
[adjuster@mx02 ~]$
Das bedeutete, dass ich einen langen Kopierauftrag startete und anhielt, einen zweiten langen Kopierauftrag startete und anhielt, dann den ersten Kopierauftrag in den Hintergrund stellte und laufen ließ, woraufhin der erste Kopierauftrag beendet wurde. Dann stellte ich den letzten Kopierauftrag in den Vordergrund und ließ ihn zu Ende laufen.
Antwort4
Eine weitere Option ist das ausgezeichneteBildschirmDienstprogramm, mit dem mehrere Prozesse gleichzeitig ausgeführt werden können, ohne dass ein Terminal geöffnet bleiben muss. Es ermöglicht auch eine viel einfachere Interaktivität als bg und fg.