Strg + Z sendet den aktuellen Job in den Hintergrund, stoppt ihn jedoch.
Und wie kann man einen gestoppten Job wieder aufnehmen?
Sie können "bg" ausführen, um es im Hintergrund auszuführen.
"fg" rückt es in den Vordergrund
Beachten Sie, dass bg und fg Jobnummern anstelle von PIDs verwenden. Wenn also mehrere Jobs gleichzeitig ausgeführt werden, verwenden Sie den Befehl "jobs", um die Jobnummern abzurufen.
Sie können ein Programm auch als Hintergrundjob mit einem "&" in der Befehlszeile starten.
z.B
myprogram &
Beachten Sie, dass die Ausgabe (sowohl stdout als auch stderr) immer noch auf das aktuelle tty geht. Daher ist es im Allgemeinen eine gute Idee, nach / dev / null oder in eine Protokolldatei umzuleiten, wie folgt:
myprogram> ~ / program.log 2> & 1 &
In beiden Beispielen handelt es sich um einen Hintergrundjob wie jeden anderen, sodass Sie ihn mit 'fg' wieder in den Vordergrund stellen können (aber wenn Sie die Ausgabe umgeleitet haben, sehen Sie nicht viel).
Wenn Sie in bash ein "bg" eingeben, wird der Job in den Hintergrund gestellt, bis die Eingabe blockiert wird. Es wird weiterhin an STDERR und STDOUT ausgegeben, 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 also, einen langen Kopierjob zu starten und anzuhalten, einen zweiten langen Kopierjob zu starten und anzuhalten, dann den ersten Kopierjob in den Hintergrund zu stellen und laufen zu lassen, gefolgt vom Beenden des ersten Kopierjobs. Dann stelle ich den letzten Kopierauftrag in den Vordergrund und lasse ihn fertig werden.
bg 1
undfg 1
arbeite nicht für mich, sondernbg %1
undfg %1
tue es.nohup task.sh &
Läuft im Hintergrund, die Ausgabe geht an nohup.out im aktuellen Verzeichnis. Wird beim Abmelden weiter ausgeführt.
quelle
Eine weitere Option ist das hervorragende Bildschirmdienstprogramm , mit dem viele 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.
quelle