Comment rechercher un processus par nom sans utiliser grep?

38

Pour rechercher un processus, vous pouvez utiliser ps avec grep .

Par exemple pour rechercher firefox

ps aux | grep firefox

Comment obtenir la même réponse sans utiliser grep ?

    
posée Maythux 22.04.2015 - 07:40
la source

6 réponses

54

La commande pgrep et son frère pkill existent précisément à cette fin:

  • pgrep firefox listera tous les processus dont les commandes correspondent à firefox
  • pgrep -f firefox listera tous les processus dont les lignes de commande entières correspondent à firefox
  • pgrep -x firefox listera tous les processus dont les commandes correspondent exactement à firefox
  • ... et ainsi de suite.

Et naturellement, pgrep s’exclura de la correspondance, donc aucun des rituels grep associés à ps | grep n’est nécessaire.

L’autre ensemble d’outils pour cela sont les commandes pidof et killall . Celles-ci ne sont pas aussi flexibles que pgrep et pkill .

  • pidof firefox listera les processus dont la commande est firefox
réponse donnée muru 22.04.2015 - 07:56
la source
20
ps -fC process-name

exemple:

ps -fC firefox

de man ps

  -C cmdlist      Select by command name.
                       This selects the processes whose executable name is
                       given in cmdlist.


 -f              Do full-format listing. This option can be combined
                       with many other UNIX-style options to add additional
                       columns. It also causes the command arguments to be
                       printed. When used with -L, the NLWP (number of
                       threads) and LWP (thread ID) columns will be added. See
                       the c option, the format keyword args, and the format
                       keyword comm.
    
réponse donnée Maythux 22.04.2015 - 07:46
la source
2

top vous permet de rechercher une chaîne lorsque vous appuyez sur la majuscule L ; le processus sera mis en surbrillance et utilisez les flèches haut et bas pour parcourir la liste des processus. De même, La commande htop permet de mettre en évidence un processus particulier lorsque vous atteignez / . Et \ filtrera tous les processus avec une chaîne particulière dans le nom.

Pour ceux qui aiment awk, voici un awk oneliner: ps -eF | awk '/process-name/ {print }' . Avec ps -eF nom du processus est toujours dans la 11ème colonne. Si vous faites ps -eF | awk '{print }' | sort , vous obtenez une liste triée des noms de processus, triés par ordre alphabétique. Pipe-la dans la commande less juste pour voir la longue liste de fichiers plus facile.

    
réponse donnée Sergiy Kolodyazhnyy 22.04.2015 - 08:38
la source
1

Vous pouvez également utiliser htop , puis appuyer sur F4 pour filtrer les résultats avec une chaîne définie par l'utilisateur correspondante. Vous avez également une fonction de recherche personnalisée disponible en appuyant sur F3.

    
réponse donnée JoErNanO 22.04.2015 - 11:36
la source
1

Si deux processus sont le problème, vous pouvez utiliser seulement grep:

grep firefox /proc/*/cmdline
    
réponse donnée user1497298 11.08.2016 - 13:18
la source
1

Un truc sympa

$ps -ejH

Vous obtiendrez tous les processus avec des noms

exmple:
1747   568   568 ?        00:00:00   colord
1833  1832  1832 ?        00:00:00   gnome-keyring-d
2263   568   568 ?        00:00:00   udisksd
2311  2311  2311 ?        00:00:00   cupsd
2315  2315  2311 ?        00:00:00     dbus

Rediriger ou copier la sortie dans un fichier, puis ouvrez nano , appuyez sur Ctrl + W et vous pouvez rechercher le nom que vous voulez.

    
réponse donnée daniel 03.01.2017 - 07:45
la source

Lire d'autres questions sur les étiquettes