J'utilise Ubuntu Server 10.10 et je voudrais voir quels processus sont en cours d'exécution. Je sais que PostgreSQL s'exécute sur ma machine mais je ne peux pas le voir avec les commandes top
ou ps
, donc je suppose qu'ils ne montrent pas tous les processus en cours d'exécution. Existe-t-il une autre commande qui affichera tous les processus en cours ou y a-t-il d'autres paramètres que je peux utiliser avec top
ou ps
pour cela?
Depuis la page de manuel ps
:
-e Sélectionnez tous les processus. Identique à -A.
Donc, ps -e
affichera tous les processus. Les options courantes pour "tout me donner" sont ps -ely
ou ps aux
, ce dernier est le style BSD. Souvent, les gens dirigent ensuite cette sortie vers grep
pour rechercher un processus, comme dans la réponse de xenoterracide. Afin d'éviter de voir également grep
lui-même dans la sortie, vous verrez souvent quelque chose comme:
ps -ef | grep [f]oo
où foo est le nom du processus que vous recherchez.
Cependant, si vous recherchez un processus particulier, je vous recommande d'utiliser la commande pgrep
si elle est disponible. Je pense qu'il est disponible sur Ubuntu Server. L'utilisation de pgrep
signifie que vous évitez les conditions de concurrence mentionnées ci-dessus. Il fournit également d'autres fonctionnalités qui nécessiteraient une astuce grep
de plus en plus compliquée à répliquer. La syntaxe est simple:
pgrep foo
où foo est le processus que vous recherchez. Par défaut, il affichera simplement l'ID de processus (PID) du processus, s'il en trouve un. Voir man pgrep
pour les autres options de sortie. J'ai trouvé la page suivante très utile:
as-tu essayé ps aux | grep postgres
? il devrait vraiment apparaître si postgres est en cours d'exécution. Si ce n'est pas le cas ... comment savez-vous que postgres fonctionne?
(note: c'est une idée fausse courante c'est que c'est ps -aux
mais ce n'est pas correct)