Listar todos los nombres de proceso para mi usuario.
Podría hacerlo con
ps aux | grep username
Pero la salida sería como:
maythux 18343 0.0 0.1 1070868 34504 ? Sl Jun03 0:07 empathy maythux 21562 0.0 0.1 703716 32104 ? Sl Jun10 0:00 /usr/bin/python /usr/bin/blueman-applet maythux 21574 0.0 0.0 53532 2408 ? S Jun10 0:00 /usr/bin/obex-data-server --no-daemon maythux 25197 0.0 1.0 2199840 258576 ? Sl May27 0:24 remmina
Pero solo quiero que la salida se vea como:
empathy blueman-applet obex-data-serve remmina
Entonces, ¿cuál es la forma más fácil de hacer eso?
Puede hacerlo fácilmente con ps sí mismo sin necesidad de ninguna otra herramienta:
ps -U user-name -o comm=
Si desea un poco de clasificación y eliminación de entradas duplicadas, puede hacer esto:
ps -U user-name -o comm= | sort | uniq
Aquí muestra de mi salida:
liferea mission-control nacl_helper nautilus nm-applet notify-osd nxclient.bin nxnode.bin obex-data-serve okular polkit-gnome-au
Para completar, también puede usar pgrep
:
pgrep -lU foobar
esto coincidirá con el ID de usuario real del usuario foobar
. Esto mostrará la salida con PIDs.
Si desea solo los nombres de proceso, también con la eliminación de duplicados:
pgrep -lU foobar | cut -d' ' -f2 | sort -u ##Using RUID pgrep -lu foobar | cut -d' ' -f2 | sort -u ##Using EUID