Frage: Ich weiß, wie man einen Unix-Befehl im Vordergrund ausführt. Können Sie mir bitte erklären, wie ich einen Linux-Befehl im Hintergrund ausführen kann?
Antwort: Sie können eine der 5 in diesem Artikel erläuterten Methoden verwenden, um einen Linux-Befehl oder ein Shell-Skript im Hintergrund auszuführen.
1. Führen Sie mit &
einen Befehl im Hintergrund ausSie können einen Befehl (oder ein Shell-Skript) als Hintergrundjob ausführen, indem Sie wie unten gezeigt ein kaufmännisches Und an den Befehl anhängen.
$ ./my-shell-script.sh &
Lesen Sie Bg, Fg, &, Strg-Z – 5 Beispiele zum Verwalten von Unix-Hintergrundjobs, um weitere Details zu verstehen.
2. Ausführen eines Befehls im Hintergrund mit nohup
Nachdem Sie einen Befehl (oder ein Shell-Skript) im Hintergrund mit &ausgeführt haben, wird der Befehl beendet, wenn Sie sich von der Sitzung abmelden. Um dies zu vermeiden, sollten Sie nohup wie unten gezeigt verwenden.
$ nohup ./my-shell-script.sh &
Lesen Sie Unix Nohup:Ausführen eines Befehls oder Shell-Skripts auch nach dem Abmelden, um mehr Details zu erfahren.
3. Führen Sie einen Befehl mit dem Bildschirmbefehl
ausNachdem Sie einen Befehl im Hintergrund mit nohup und &ausgeführt haben, wird der Befehl auch nach dem Abmelden ausgeführt. Sie können sich jedoch nicht erneut mit derselben Sitzung verbinden, um genau zu sehen, was auf dem Bildschirm passiert. Dazu sollten Sie den Bildschirmbefehl verwenden.
Der Linux-Bildschirmbefehl bietet die Möglichkeit, eine Sitzung zu trennen, in der ein Prozess ausgeführt wird, und sie dann zu einem späteren Zeitpunkt anzuhängen. Wenn Sie die Sitzung später wieder anhängen, sind Ihre Terminals genau so da, wie Sie sie zuvor verlassen haben.
Weitere Einzelheiten finden Sie unter Beispiele für Bildschirmbefehle:Steuerung des Linux-/Unix-Terminals abrufen.
4. Ausführen eines Befehls als Batch-Job mit at
Mit dem Befehl at können Sie einen Job so planen, dass er zu einem bestimmten Datum und zu einer bestimmten Uhrzeit ausgeführt wird. Um beispielsweise das Backup-Skript morgen um 10:00 Uhr auszuführen, gehen Sie wie folgt vor.
$ at -f backup.sh 10 am tomorrow
Lesen Sie Verstehen von Befehlen at, atq, atrm, batch anhand von 9 Beispielen für weitere Details.
Das Ausführen bestimmter Jobs im Stapelmodus erfordert die Aktivierung bestimmter Optionen. Die folgenden Artikel werden etwas Klarheit darüber geben.
- So erfassen Sie die Unix-Top-Befehlsausgabe in einer Datei in lesbarem Format
- Unix bc Befehlszeilenrechner im Stapelmodus
- So führen Sie SSH und SCP im Stapelmodus aus (nur wenn die Anmeldung ohne Passwort aktiviert ist)
5. Führen Sie einen Befehl kontinuierlich mit watch
ausUm einen Befehl kontinuierlich in einem bestimmten Intervall auszuführen, verwenden Sie den Watch-Befehl wie unten gezeigt.
$ watch df -h
Read Watch:Wiederholen Sie Unix-Befehle oder Shell-Skripte alle N Sekunden, um mehr Details zu verstehen.