In diesem kurzen Tutorial möchte ich mir die jobs
ansehen Befehl und einige Möglichkeiten, wie wir die auf unseren Systemen ausgeführten Jobs manipulieren können. Kurz gesagt, durch die Steuerung von Jobs können Sie in Ihrer Linux-Shell gestartete Prozesse anhalten und fortsetzen.
Jobs
Die jobs
Befehl listet alle Jobs auf dem System auf; aktiv, gestoppt oder anderweitig. Bevor ich den Befehl und die Ausgabe untersuche, erstelle ich einen Job auf meinem System.
Ich werde den sleep
verwenden Job, da es mein System nicht auf sinnvolle Weise ändern wird.
[tcarrigan@rhel ~]$ sleep 500
^Z
[1]+ Stopped sleep 500
Zuerst habe ich den sleep
ausgegeben Befehl, und dann erhielt ich die Auftragsnummer [1]. Ich habe den Job dann sofort mit Strg+Z gestoppt . Als nächstes führe ich die jobs
aus Befehl, um den neu erstellten Job anzuzeigen:
[tcarrigan@rhel ~]$ jobs
[1]+ Stopped sleep 500
Sie können sehen, dass ich einen einzelnen gestoppten Job habe, der durch die Jobnummer [1] gekennzeichnet ist .
Weitere Optionen, die Sie für diesen Befehl kennen sollten, sind:
- -l – PIDs zusätzlich zu den Standardinformationen auflisten
- -n – Nur Prozesse auflisten, die sich seit der letzten Benachrichtigung geändert haben
- -p - Nur PIDs auflisten
- -r - nur laufende Jobs anzeigen
- -s - nur angehaltene Jobs anzeigen
Hintergrund
Als Nächstes setze ich den sleep
fort Arbeit im Hintergrund. Dazu verwende ich den bg
Befehl. Nun, das bg
Befehl hat eine ziemlich einfache Syntax, wie hier zu sehen:
bg [JOB_SPEC]
Wobei JOB_SPEC Folgendes sein kann:
- %n - wobei n ist die Auftragsnummer
- %abc - bezieht sich auf einen Job, der durch einen Befehl gestartet wird, der mit abc beginnt
- %?abc - bezieht sich auf einen Job, der durch einen Befehl gestartet wurde, der abc enthält
- %- - gibt den vorherigen Job an
HINWEIS :bg
und fg
Arbeiten Sie mit dem aktuellen Job, wenn keine JOB_SPEC angegeben ist.
Ich kann diesen Job in den Hintergrund verschieben, indem ich die Jobnummer [1] verwende .
[tcarrigan@rhel ~]$ bg %1
[1]+ sleep 500 &
Sie können jetzt sehen, dass ich einen einzigen laufenden Job im Hintergrund habe.
[tcarrigan@rhel ~]$ jobs
[1]+ Running sleep 500 &
Vordergrund
Sehen wir uns nun an, wie Sie einen Hintergrundjob in den Vordergrund verschieben. Dazu verwende ich den fg
Befehl. Die Befehlssyntax ist für den Vordergrundbefehl dieselbe wie für den Hintergrundbefehl.
fg [JOB_SPEC]
Einzelheiten zu JOB_SPEC finden Sie in den obigen Aufzählungszeichen.
Ich habe einen neuen sleep
begonnen im Hintergrund:
[tcarrigan@rhel ~]$ sleep 500 &
[2] 5599
Jetzt verschiebe ich es mit dem folgenden Befehl in den Vordergrund:
[tcarrigan@rhel ~]$ fg %2
sleep 500
Die fg
Befehl hat mein System jetzt wieder in einen Ruhezustand versetzt.
Das Ende
Obwohl ich weiß, dass die hier vorgestellten Jobs trivial waren, können diese Konzepte auf mehr als nur den sleep
angewendet werden Befehl. Wenn Sie in eine Situation geraten, die dies erfordert, haben Sie jetzt das Wissen, laufende oder angehaltene Jobs aus dem Vordergrund in den Hintergrund und wieder zurück zu verschieben.
[ Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]