GNU/Linux >> Tutoriels Linux >  >> Linux

Plus élégant ps aux | grep -v grep

Utilisez pgrep. C'est plus fiable.


La technique habituelle est la suivante :

ps aux | egrep '[t]erminal'

Cela correspondra aux lignes contenant terminal , dont egrep '[t]erminal' ne fait pas! Cela fonctionne également sur beaucoup saveurs d'Unix.


Cette réponse s'appuie sur un précédent pgrep réponse. Il s'appuie également sur une autre réponse combinant l'utilisation de ps avec pgrep . Voici quelques exemples de formation pertinents :

$ pgrep -lf sshd
1902 sshd

$ pgrep -f sshd
1902

$ ps up $(pgrep -f sshd)
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1902  0.0  0.1  82560  3580 ?        Ss   Oct20   0:00 /usr/sbin/sshd -D

$ ps up $(pgrep -f sshddd)
error: list of process IDs must follow p
[stderr output truncated]

$ ps up $(pgrep -f sshddd) 2>&-
[no output]

Ce qui précède peut être utilisé comme une fonction :

$ psgrep() { ps up $(pgrep -f [email protected]) 2>&-; }

$ psgrep sshd
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1902  0.0  0.1  82560  3580 ?        Ss   Oct20   0:00 /usr/sbin/sshd -D

Comparer avec l'utilisation de ps avec grep . La ligne d'en-tête utile n'est pas imprimée :

$  ps aux | grep [s]shd
root      1902  0.0  0.1  82560  3580 ?        Ss   Oct20   0:00 /usr/sbin/sshd -D

Linux
  1. Grep :Mémoire épuisée ?

  2. Couper / Grep Et Df -h ?

  3. Grep et queue -f ?

  4. signification de la sortie ps aux

  5. regarder la sortie de ps aux | grep blah dans tmux ne fonctionnera pas?

Grep Regex :un guide complet

Comment exclure dans Grep

Expressions régulières dans Grep (Regex)

Téléavertisseurs de terminaux

Commande Grep sous Linux/UNIX

Utiliser grep contre awk