Erstellen und Ausführen von Hintergrundaufgaben
In diesem Schritt lernen Sie, wie Sie ein Skript erstellen, das eine langlaufende Aufgabe simuliert, und es im Hintergrund ausführen.
Unterschied zwischen Vordergrund- und Hintergrundprozessen verstehen
In einem Linux-Terminal können Prozesse entweder im Vordergrund oder im Hintergrund ausgeführt werden:
- Vordergrundprozess: Wenn ein Befehl im Vordergrund ausgeführt wird, belegt er Ihr Terminal, bis er abgeschlossen ist. Sie können keine anderen Befehle ausführen, bis er beendet ist.
- Hintergrundprozess: Wenn ein Befehl im Hintergrund ausgeführt wird, läuft er "im Hintergrund", während Ihr Terminal für andere Aufgaben frei bleibt.
Beginnen wir damit, in das Projektverzeichnis zu navigieren:
cd ~/project
Jetzt erstellen wir ein einfaches Skript, das eine langlaufende Aufgabe simuliert. Wir verwenden es, um Hintergrund- und Vordergrundoperationen zu demonstrieren:
nano long_running_task.sh
Im nano-Editor geben Sie den folgenden Code ein:
#!/bin/bash
echo "Starting a long task..."
sleep 60 ## This will pause for 60 seconds
echo "Task completed."
Um die Datei zu speichern, drücken Sie Strg+O
, gefolgt von Enter
, und dann Strg+X
, um nano zu verlassen.
Als Nächstes machen wir das Skript ausführbar mit dem folgenden Befehl:
chmod +x long_running_task.sh
Lassen Sie uns dieses Skript im Hintergrund ausführen, indem wir ein Ampersand (&
) am Ende des Befehls hinzufügen:
./long_running_task.sh &
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
[1] 1234
Starting a long task...
Die Zahl in eckigen Klammern [1]
ist die Jobnummer, und die Zahl danach (in diesem Beispiel 1234
) ist die Prozess-ID. Ihr Terminal ist jetzt frei, um andere Befehle einzugeben, während das Skript weiterhin im Hintergrund läuft.