GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Befehle:jobs, bg und fg

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. ]


Linux
  1. Überwachen Sie Befehle und Aufgaben mit dem Linux-Überwachungsbefehl

  2. Linux-Befehle – Übersicht und Beispiele

  3. So speichern Sie Linux-Befehle und verwenden sie bei Bedarf

  4. 5 Linux-Befehle, die ich nie benutze

  5. A bis Z Linux-Befehle

W-Befehl unter Linux

Grundlegende Linux-Befehle

Bei Befehl unter Linux

Linux-Befehle - Vollständiges Handbuch

So führen Sie Linux-Startskripts und -Befehle automatisch aus

Linux-crontab-Befehl zum Erstellen und Verwalten von Cron-Jobs