Como faço para listar todos os processos pertencentes ao meu usuário?

4

Lista todos os nomes de processos para o meu usuário.

Eu poderia fazer isso com

ps aux | grep username

Mas a saída seria 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

Mas eu só quero que a saída pareça:

empathy
blueman-applet
obex-data-serve
remmina

Então, qual é a maneira mais fácil de fazer isso?

    
por Maythux 13.06.2015 / 12:19

2 respostas

4

Você pode facilmente fazer isso com o próprio ps sem precisar de nenhuma outra ferramenta:

ps -U user-name -o comm= 

Se você quiser um pouco de classificação e remoção de entradas duplicadas, poderá fazer isso:

ps -U user-name -o comm= | sort | uniq

Aqui amostra da minha saída:

liferea
mission-control
nacl_helper
nautilus
nm-applet
notify-osd
nxclient.bin
nxnode.bin
obex-data-serve
okular
polkit-gnome-au
    
por Maythux 13.06.2015 / 12:19
3

Para fins de conclusão, você também pode usar pgrep :

pgrep -lU foobar

isso corresponderá ao ID do usuário real do usuário foobar . Isso mostrará a saída com PIDs.

Se você quiser apenas os nomes dos processos, também com a remoção de duplicatas:

pgrep -lU foobar | cut -d' ' -f2 | sort -u  ##Using RUID

pgrep -lu foobar | cut -d' ' -f2 | sort -u  ##Using EUID
    
por heemayl 30.06.2015 / 17:00

Tags