Um nach einem Prozess zu suchen, können Sie ps
mit grep
.
Zum Beispiel um nach Firefox zu suchen
ps aux | grep firefox
Wie bekomme ich die gleiche Antwort ohne zu verwenden grep
?
command-line
process
Maythux
quelle
quelle
ps/grep
Lösung so gut funktioniert.ps -n <process name>
gäbe, würde das seinem Bedürfnis entsprechen.ps -n firefox
ist etwas kürzer alsps | grep firefox
.ps
kann bereitspid
nach einer Benutzer-ID filtern oder verarbeiten, daher ist es eine vernünftige Frage, nach Prozessnamen zu filtern.Antworten:
Der
pgrep
Befehl und seine Geschwisterpkill
existieren genau zu diesem Zweck:pgrep firefox
listet alle Prozesse auf, deren Befehle übereinstimmenfirefox
pgrep -f firefox
listet alle Prozesse auf, deren gesamte Befehlszeile übereinstimmtfirefox
pgrep -x firefox
listet alle Prozesse auf, deren Befehle genau übereinstimmenfirefox
Und natürlich
pgrep
wird sich aus dem Match ausschließen, so dass keines der damit verbundenengrep
Ritualeps | grep
benötigt wird.Die anderen Werkzeuge hierfür sind die Befehle
pidof
undkillall
. Diese sind nicht so flexibel wiepgrep
undpkill
.pidof firefox
listet Prozesse auf, deren Befehl lautetfirefox
quelle
Beispiel:
von
man ps
quelle
ps -C
Flag verhält sich völlig anders - "Ändere die Art und Weise, wie der CPU-Prozentsatz berechnet wird"top
Ermöglicht die Suche nach Zeichenfolgen, wenn Sie auf Großbuchstaben klickenL
. Der Prozess wird hervorgehoben und Sie können mit den Aufwärts- und Abwärtspfeiltasten durch die Liste der Prozesse scrollen. In ähnlicher Weise können Sie mit demhtop
Befehl einen bestimmten Prozess markieren, wenn Sie auf drücken/
. Und\
filtert alle Prozesse mit einer bestimmten Zeichenfolge im Namen.Für diejenigen , die awk mögen, hier ist ein awk oneliner:
ps -eF | awk '/process-name/ {print $11}'
. Mitps -eF
Prozessname steht immer in der 11. Spalte. Alternativ erhalten Sieps -eF | awk '{print $11}' | sort
eine sortierte Liste der Prozessnamen, alphabetisch sortiert. Pipe es inless
Befehl, nur um die lange Liste der Dateien einfacher anzuzeigen.quelle
Ein cooler Trick
Sie erhalten alle Prozesse mit Namen
Leiten Sie die Ausgabe um oder kopieren Sie sie in eine Datei. Öffnen Sie dann
nano
, drücken Sie Ctrl+ Wund Sie können nach dem gewünschten Namen suchen.quelle
Sie können auch
htop
F4 verwenden und dann drücken, um die Ergebnisse mit einer passenden benutzerdefinierten Zeichenfolge zu filtern. Sie haben auch eine benutzerdefinierte Suchfunktion zur Verfügung, indem Sie F3 drücken.quelle
Wenn zwei Prozesse das Problem sind, können Sie nur grep verwenden:
quelle
Ich habe gerade diesen ps-Alias im Lennart Pöttering-Blog gelesen. Die Ausgabe richtet sich nach der Elternschaft der Kontrollgruppe systemd:
quelle