BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Prozess-ID anhand des Prozessnamens finden

Mit pgrep(1) lässt sich die Prozess-ID eines Prozesses anhand seines Namens herausfinden:

# pgrep syslogd
22758

Mit der -l Option wird neben der Prozess-ID auch der Prozessname angezeigt:

# pgrep -l syslogd
22758 syslogd

Mit der -f Option werden nicht nur die Prozessnamen nach dem Suchbegriff durchsucht, sondern auch die Argumente, die den Prozessen übergeben worden sind:

# pgrep -lf SSL
37342 /usr/local/sbin/httpd -DSSL
37325 /usr/local/sbin/httpd -DSSL
37262 /usr/local/sbin/httpd -DSSL
36630 /usr/local/sbin/httpd -DSSL

So kann man nun die Prozess-ID eines zum Beispiel hängengebliebenen Prozesses herausfinden und dieser kann dann mit kill(1) terminiert werden. Wer ein bisschen mutiger ist, verwendet pkill(1), welcher wie pgrep funktioniert, nur dass nicht die Prozess-ID der gefunden Prozesse ausgegeben, sondern an alle gefundenen Prozesse ein Signal zur Terminierung gesendet wird.

# pgrep -lf vi 2008 vi /home/beat/chruetertee/ideen
# pkill -f vi
# pgrep -lf vi

pkill(1) und pgrep(1) sind sowohl auf FreeBSD als auch auf OpenBSD im Basissystem vorhanden.

Comments (1)  Permalink