Pour éviter un laborieux ps aux | grep firefox | grep -v grep, il y a ps aux | grep [f]irefox. Merci, Duke. :)
Explication : on demande de chercher une ligne qui contient « f » puis la chaîne « irefox ». La ligne du processus « grep --color=auto [f]irefox » ne correspond pas, car c'est une chaîne qui contient « [ » + « f » + « ] » + « i » +. Il n'y a pas de chaîne qui commence par f et qui finit par « irefox » sur cette ligne, en gros.
On peut aller plus loin. 99 % du temps, quand je filtre la sortie de ps, c'est pour confirmer la présence d'un processus.
Si je veux acquérir une vision globale des processus, je préfère une vue dynamique à la htop / top.
Dans ce cas, ps -fC firefox-esr fait le boulot, si l'on connaît le nom du processus et si c'est exploitable. Genre chercher un programme Java est souvent vain puisque le nom de l'exécutable sera « java », le nom visuel du programme arrive dans les arguments, qui ne sont pas considérés par ps -fC.
On peut aller légèrement plus loin (autant de caractères mais plus simple, je trouve) : pgrep firefox, le copain de pkill. Merci Johndescs. :)
pgrep -x et ps -C sont très utiles dans des scripts : concis (plus que "ps | grep | grep -v grep") et la recherche se fait uniquement sur le nom des programmes, pas sur leurs arguments.
Ça évite qu'un script lancé par CRON ne fasse plus rien car ps aux | grep apt | grep -v grep trouve toujours un processus (alors qu'apt n'est pas en cours d'exécution) car il capture thermald --adaptative (« apt » dans « adaptative »). Oui, c'est du vécu.