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 topo 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 topo pspara esto?
Por lo tanto, ps -emostrará todos los procesos. Las opciones comunes para "darme todo" son ps -elyo ps aux, este último es el estilo BSD. A menudo, las personas luego canalizan esta salida para grepbuscar un proceso, como en la respuesta de xenoterracide. Para evitar verse también grepen 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 pgrepcomando si está disponible. Creo que está disponible en Ubuntu Server. Usar pgrepsignifica que evitas la condición de carrera mencionada anteriormente. También proporciona algunas otras características que requerirían greptrucos cada vez más complicados para replicarse. 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. Consulte man pgreppara otras opciones de salida. La siguiente página me pareció muy útil:
Me pregunto qué porcentaje de personas usan pssin conocer las banderas. Solo lo tiro auxsiempre; No tengo idea de lo que realmente controlan las banderas individuales
Michael Mrozek
3
has intentado 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 una idea falsa común que es, ps -auxpero eso no es correcto)
Gracias, ps auxfuncionó mejor, mostró alrededor de 70 procesos, mientras que psmostró solo dos. Sé que PostgreSQL se estaba ejecutando desde que vi que se inició al arrancar y se detuvo al apagar.
Jonas
@Jonas, algunos scripts de inicio están mal escritos. No les creas solo porque dicen que algo comenzó y se detuvo. Solo algunos consejos
xenoterracide
También hay pgreppara esto, que tiene el beneficio de nunca capturar su ps aux | grep postgrescomando en la lista de procesos y emitirlo
ps
sin conocer las banderas. Solo lo tiroaux
siempre; No tengo idea de lo que realmente controlan las banderas individualeshas intentado
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 una idea falsa común que es,
ps -aux
pero eso no es correcto)fuente
ps aux
funcionó mejor, mostró alrededor de 70 procesos, mientras queps
mostró solo dos. Sé que PostgreSQL se estaba ejecutando desde que vi que se inició al arrancar y se detuvo al apagar.pgrep
para esto, que tiene el beneficio de nunca capturar sups aux | grep postgres
comando en la lista de procesos y emitirlo