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?
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:
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)