Cómo ver el proceso creado por un usuario específico en Unix / linux

115

Quiero ver una lista de procesos creados por un usuario específico o un grupo de usuarios en Linux ¿Puedo hacerlo usando un pscomando o hay algún otro comando para lograrlo?

gaurav VINAYAK shirodkar
fuente
66
ps -u username. La mayoría de los comandos tienen una página de manual con la que puedes leer man the-command.
Stéphane Chazelas

Respuestas:

160

Para ver solo los procesos propiedad de un usuario específico, use el siguiente comando:

top -U [username]

Reemplace el [nombre de usuario] con el nombre de usuario requerido

Si quieres usar ps entonces

ps -u [username]

O

 ps -ef | grep <username>

O

ps -efl | grep <username>

para el listado extendido

Consulte la página man ps para ver las opciones.

Otra alternativa es utilizar pstree wchich imprime el árbol de procesos del usuario.

pstree <username or pid>
Stormvirux
fuente
2
Todos `... | Las soluciones grep <username> `no funcionan si tiene dos nombres de usuario que son más largos que N caracteres. En mi caso, N es 6.
guettli
1
Nota: Recibí un error top -U [username]y top -u [username]en su lugar funcionó para mí. Debian 9. Entonces, si alguien más obtiene un error con el formulario -U, intente en minúsculas.
Gloweye
2

prueba este

ps -fp $(pgrep -u <username>)
usuario939407
fuente
¿Cómo es esto mejor que ps -u <username>, como se menciona en la respuesta existente (o ps -fu <username>si desea detalles del proceso)?
Stephen Kitt el
ps -u no proporciona detalles completos del proceso, pero ps -fu <username> sí. De acuerdo ps -fu es la mejor solución
user939407