it-swarm-es.tech

¿Cómo puedo ver qué procesos se están ejecutando?

Uso Ubuntu Server 10.10 y me gustaría ver qué procesos se están ejecutando. Sé que PostgreSQL se está ejecutando en mi máquina, pero no puedo verlo con los comandos top o ps, por lo que supongo que no muestran todos los procesos en ejecución. ¿Hay otro comando que muestre todos los procesos en ejecución o hay algún otro parámetro que pueda usar con top o ps para esto?

22
Jonas

Desde la página de manual ps:

-e Seleccionar todos los procesos. Idéntico a -A.

Por lo tanto, ps -e mostrará todos los procesos. Las opciones comunes para "dame todo" son ps -ely o ps aux, este último es el estilo BSD. A menudo, la gente canaliza esta salida a grep para buscar un proceso, como en la respuesta de xenoterracide. Para evitar también ver grep en sí mismo en la salida, a menudo verá algo como:

 ps -ef | grep [f]oo

donde foo es el nombre del proceso que estás buscando.

Sin embargo, si está buscando un proceso en particular, le recomiendo usar el comando pgrep si está disponible. Creo que está disponible en Ubuntu Server. Usar pgrep significa que evita la condición de carrera mencionada anteriormente. También proporciona algunas otras características que requerirían trucos grep cada vez más complicados para replicar. La sintaxis es simple:

pgrep foo

donde foo es el proceso que estás buscando. Por defecto, simplemente generará el ID de proceso (PID) del proceso, si encuentra uno. Ver man pgrep para otras opciones de salida. La siguiente página me pareció muy útil:

http://mywiki.wooledge.org/ProcessManagement

26
Steven D

has probado ps aux | grep postgres? realmente debería aparecer si postgres se está ejecutando. Si no es así ... ¿cómo sabes que Postgres se está ejecutando?

(nota: es un error común que es ps -aux pero eso no es correcto)

3
xenoterracide