Список всех имен процессов для моего пользователя.
Я мог бы сделать это с
ps aux | grep username
Но результат был бы следующим:
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
Но я просто хочу, чтобы результат был похож:
empathy
blueman-applet
obex-data-serve
remmina
Так какой же самый простой способ сделать это?
Можно легко сделать это с самим PS без потребности к любому другому инструменту:
ps -U user-name -o comm=
, Если Вы хотите некоторого короля сортировки и удаления дублирующихся записей, можно сделать это:
ps -U user-name -o comm= | sort | uniq
Здесь образец моего вывода:
liferea
mission-control
nacl_helper
nautilus
nm-applet
notify-osd
nxclient.bin
nxnode.bin
obex-data-serve
okular
polkit-gnome-au
Ради завершения можно также использовать pgrep
:
pgrep -lU foobar
это будет соответствовать идентификатору Реального пользователя пользователя foobar
. Это покажет вывод с PIDs.
, Если Вы хотите только имена процесса, также с удалением дубликатов:
pgrep -lU foobar | cut -d' ' -f2 | sort -u ##Using RUID
pgrep -lu foobar | cut -d' ' -f2 | sort -u ##Using EUID