Warum kann ich einen Prozess nicht pgrep?


12
$ ps aux | grep -i ssh
USER      4364  0.0  0.0   9004  1032 ?        Ss   12:20   0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-IP-ADDRESS

$ pgrep localhost:4000

Warum funktioniert das nicht?

Antworten:


25

Standardmäßig pgrep(1)wird nur mit dem Prozessnamen abgeglichen. Wenn Sie mit der vollständigen Befehlszeile übereinstimmen möchten, verwenden Sie die folgende -fOption:

$ pgrep -f localhost:4000

8

Schauen Sie sich die Manpage für pgrep an . Es ist nicht nur ein Alias, um ps mit einer Reihe von Spalten auszuführen und dann die Textausgabe zu erfassen. Es durchsucht tatsächlich bestimmte Felder nach Werten. Standardmäßig wird bei einer Suche nur der Prozessname angezeigt und die PID zurückgegeben . Sie können die vollständige Befehlszeile durchsuchen, indem Sie die -fOption hinzufügen . Sie können auch mehrere andere Felder durchsuchen, die nützlich sein können, z. B. das Terminal, auf dem ein Prozess ausgeführt wird, oder die Gruppen-ID.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.