Prozessverwaltung
1. Alle Prozesse auflisten
ps ax
2. Prozesse systemweit beenden
Das Programm mit der eine bestimmten Prozessnummer beenden
kill <prozessnummer>
Alle Programme, die wget beinhalten beenden
killall wget
Alle Programme, die den Namen sensor.py enthalten beenden.
ps -a -C sensor.py -o pid | tail -n +2 | xargs kill -9
3. Prozessverwaltung mit bg und fg
Die Befehle bg, fg und jobs ermöglichen die Verwaltung mehrerer Prozesse an einer Konsole.
Ein laufender Prozess kann mit der Tastenkombination Strg - z angehalten werden. Die Eingabeaufforderung wird wieder sichtbar. Anhalten bedeutet nicht, dass der Prozess beendet wird. Der Prozess kann mit dem Befehl bg im Hintergrund fortgesetzt werden. Alternativ kann ein Prozess mit fg wieder in den Vordergrund geholt und fortgesetzt werden. Im Hintergrund ausführen bedeutet, dass dir Eingabeaufforderung zur Verfügung steht.
Mit jobs kann man sich den Status der Prozesse anzeigen lassen, die aktuell an die Konsole gebunden sind.
[1]+ Stopped octave [2]- Running nmap 127.0.0.1 -A >/dev/null &
Alternativ kann man an eine Befehlszeile das Zeichen & anhängen. Das Bewirkt das gleiche wie die Tastenkombination Strg - z mit dem nachfolgenden Befehl bg. Das bedeutet also im Hintergrund ausführen.
Einen großen Nachteil hat die Verwaltung der Prozesse mit diese Methode. Wird die Konsole beendet, so werden damit alle Prozesse auch beendet.
4. Ausgabe unterdrücken
Gerade bei der Arbeit mit bg und fg kann die Ausgabe der Programme etwas hinderlich sein. Die Ausgabe der im Hintergrund laufenden Prozesse lässt sich unterdrücken.
Für die normale Ausgabe
Befehlszeile > /dev/null
oder für die Fehlerausgabe
Befehlszeile 2> /dev/null
Oder in Kombination
Befehlszeile > /dev/null 2> /dev/null.
Anstelle von /dev/null kann die Ausgabe auch in eine Datei erfolgen.
5. nohup
Oben wurde das Problem mit dem Beenden der Prozesse mit dem Beenden der Konsole angesprochen. Wir ein Befehl mit nohup gestartet, so kann man sich ausloggen und der Prozess läuft dennoch weiter. Noch besser ist jedoch, meiner Ansicht nach der Befehl screen.
nohup <Befehlszeile>
6. screen
6.1Einen Befehl ausführen und ausloggen
- Geben screen ein.
- Sie können jetzt, wie gewohnt Befehle eingeben. Programme starten...
- Die Tastenkombination zum so genanten detach ist Strg-a Strg-D
- Ein laufender Prozess wird im Hintergrund fortgesetzt
- Danach kann man sich ausloggen
6.2Einloggen und Prozess wieder
- Loggen sie sich ein
- Kommando zum so genanten reattach ist screen -r
6.3Auflisten
screen -ls
7. Prozesspriorität mit nice
7.1Prozess mit Priorität starten
-20 (hoch) bis 19 (niedrig)
nice <Priorität> <Befehlszeile>
7.2Beispiele
Programm Octave mit Priorität 5 starten
nice -5 ocatve
Programm Octave mit Priorität -5 starten
nice --5 ocatve