Written by georg
on Oktober 29, 2015
Wie sucht man ob ein Prozess läuft?
# ps aux | grep smb root 699 0.0 0.4 28800 4036 ? Ss Oct22 0:43 smbd -F root 768 0.0 0.1 28800 1604 ? S Oct22 0:04 smbd -F root 21411 0.0 0.0 4680 772 pts/0 S+ 18:06 0:00 grep --color=auto smb
Das ist zuviel Output, weil auch der grep-Prozess selber angezeigt wird. Dafür gibt es eine einfältige Lösung:
# ps aux | grep smb | grep -v grep root 699 0.0 0.4 28800 4036 ? Ss Oct22 0:43 smbd -F root 768 0.0 0.1 28800 1604 ? S Oct22 0:05 smbd -F
Aber wie geht es besser?
ps aux | grep [s]mb root 699 0.0 0.4 28800 4036 ? Ss Oct22 0:43 smbd -F root 768 0.0 0.1 28800 1604 ? S Oct22 0:05 smbd -F
Warum funktioniert das? Ganz einfach, weil in der Prozessliste jetzt der String „smb“ nicht mehr vorkommt beim grep-Befehl, sondern der String „[s]mb“. Gesucht wird von dem Befehl aber trotzdem nach „smb“.
Braucht man nur die PID vom Prozess geht es aber einfacher:
# pgrep smb 699 768
Soll das ganze nur zum Beenden der Prozesse genutzt werden, braucht man gar keinen grep mehr.
# killall smbd
Schreibe einen Kommentar