Für jeden Befehl, den Sie an das System absetzen, wird ein eigener Prozeß mit einer eindeutigen Prozeßnummer (PID) erzeugt, der diesen Befehl ausführt. Mit Hilfe der Prozeßnummer kann das System jederzeit den aktuellen Status eines Prozesses ermitteln.
Mit dem Befehl ps stellen Sie fest, welche Prozesse auf Ihrem System gerade ablaufen. Die Ausgabe besteht aus vier Spalten, in denen für jeden von Ihnen erzeugten Prozeß die Prozeßnummer (PID), der Terminalname (TTY), die bisher verbrauchte CPU-Zeit (TIME) und der Name des ausgeführten Befehls (COMMAND) angezeigt wird.
Wenn Sie den Befehl mit der Option -l eingeben, erscheinen zusätzlich weitere Informationen, darunter in der Spalte S der Prozeßstatus, der durch einen der folgenden Codes angegeben wird:
O - Prozeß läuft.
Z - Vater-Prozeß reagiert nicht auf Prozeßabbruch (Zombieprozeß).
T - Prozeß ist angehalten und wird schrittweise ausgeführt (Trace).
X -SXBRK-Status: Prozeß wartet auf Speicherzuteilung.
Der Prozeßstatus kann sich während der Ausführung von ps ändern, d. h. die angezeigten Werte gelten nur für den Moment, in dem der Befehl aufgerufen wurde, und können zum Zeitpunkt der Ausgabe schon wieder ungenau sein.
Weitere Optionen zu ps(1)sind im man Pages(1): User Commands beschrieben.
Mit dem Befehl kill können Sie Prozesse abbrechen, die nicht mehr benötigt werden oder die versehentlich gestartet wurden und das System zu stark belasten.
Dazu gehen Sie folgendermaßen vor:
Ermitteln Sie mit ps die Nummer des Prozesses.
Geben Sie kill und die Prozeßnummer ein.
Im folgenden Beispiel wird der Prozeß mit der Nummer 1291 abgebrochen:
$ ps PID TTY TIME COMMAND 1291 co 0:12 -bin/csh (csh) 3250 p0 0:00 ps 1286 p1 0:05 -bin/csh (csh) 3248 p1 0:05 vi commands $ kill 1291 [1] Beendet -bin/csh/ (csh) $ |
Schneller geht es, wenn Sie den Befehl grep als Filter verwenden:
$ ps | grep befehlsname |
Dabei ersetzen Sie befehlsname durch den Namen des Befehlsprozesses, der abgebrochen werden soll.
Wenn der Prozeß auf das Abbruchsignal nicht reagiert, können Sie mit der Option -9 ein unbedingtes Abbruchsignal senden:
$ kill -9 PID# |
PID# ist die Nummer des Prozesses, der abgebrochen werden soll.