В Linux и других операционных системах на базе Unix для отображения запущенных процессов из командной строки часто используются команды ps и top. По умолчанию эти команды показывают процессы для всех пользователей и групп.
Однако бывают случаи, когда вам нужно просмотреть запущенные процессы для определенных пользователей или групп, например, при устранении неполадок или администрировании системы. Для этого можно использовать команды ps, top и pgrep.
Шаги по выводу списка процессов по пользователям и группам в Linux
Покажите процессы для одного пользователя с помощью команды ps.
1 | ps -u user -U user |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | PID TTY TIME CMD 1423 ? 00:00:00 systemd 1424 ? 00:00:00 (sd-pam) 1430 ? 00:00:00 pipewire 1431 ? 00:00:00 pipewire-media- 1432 ? 00:00:00 pulseaudio 1434 ? 00:00:00 tracker-miner-f 1437 ? 00:00:00 dbus-daemon 1439 ? 00:00:00 gnome-keyring-d 1459 ? 00:00:00 gvfsd 1464 ? 00:00:00 gvfsd-fuse 1466 ? 00:00:00 gvfs-udisks2-vo 1477 ? 00:00:00 gvfs-goa-volume 1482 ? 00:00:00 goa-daemon 1492 ? 00:00:00 goa-identity-se 1499 ? 00:00:00 gvfs-gphoto2-vo 1503 ? 00:00:00 gvfs-mtp-volume 1509 tty2 00:00:00 gdm-wayland-ses 1511 ? 00:00:00 gvfs-afc-volume ... |
- -U Отобразить процессы, принадлежащие указанным реальным идентификаторам пользователей.
- -u Отобразить процессы, принадлежащие указанным именам пользователей.
- user - реальное имя пользователя и группы в системе.
1 | id |
1 | uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),121(lpadmin),132(lxd),133(sambashare) |
Отображение процессов для одной группы с помощью команды ps.
1 | ps -u user,root -U user,root |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | PID TTY TIME CMD 1 ? 00:00:02 systemd 2 ? 00:00:00 kthreadd 3 ? 00:00:00 rcu_gp 4 ? 00:00:00 rcu_par_gp 6 ? 00:00:00 kworker/0:0H-events_highpri 7 ? 00:00:00 kworker/0:1-events 8 ? 00:00:00 kworker/u256:0-ext4-rsv-conversion 9 ? 00:00:00 mm_percpu_wq 10 ? 00:00:00 rcu_tasks_rude_ 11 ? 00:00:00 rcu_tasks_trace 12 ? 00:00:00 ksoftirqd/0 13 ? 00:00:00 rcu_sched 14 ? 00:00:00 migration/0 ... |
Все приведенные в примере опции (-u, -U, -g, -G) можно использовать для всех перечисленных ниже инструментов.
Отфильтруйте список процессов ps по имени пользователя с помощью команды grep.
1 | ps -aef | grep username |
Покажите процессы для одного пользователя с помощью команды top.
1 | top -u user |
top принимает либо -u, либо -U, но не оба одновременно.
Отображение процессов для нескольких пользователей с помощью команды pgrep.
1 | pgrep -l -u user -U user |