Як бачити процес, створений конкретним користувачем в Unix / linux


115

Я хочу побачити список процесів, створених певним користувачем або групою користувачів у Linux Чи можу я це зробити за допомогою psкоманди або чи є якась інша команда для досягнення цього?


6
ps -u username. Більшість команд мають сторінку вручну, з якою ви можете прочитати man the-command.
Стефан Шазелас

Відповіді:


160

Щоб переглянути лише процеси, що належать конкретному користувачеві, скористайтеся такою командою:

top -U [username]

Замініть [ім'я користувача] на потрібне ім'я користувача

Якщо ви хочете використовувати ps, тоді

ps -u [username]

АБО

 ps -ef | grep <username>

АБО

ps -efl | grep <username>

для розширеного переліку

Ознайомтесь із сторінкою "man ps" щодо варіантів

Іншою альтернативою є використання pstree, яке друкує дерево процесу користувача

pstree <username or pid>

2
Усі `... | grep <username> `Рішення не працюють, якщо у вас є два імені користувача, довжина яких більше N символів. У моєму випадку N - 6.
guettli

1
Примітка. Я отримав помилку top -U [username], і top -u [username]замість цього працював для мене. Debian 9. Отже, якщо хтось інший отримує помилку з формою -U, спробуйте нижню букву.
Gloweye

2

спробуйте це

ps -fp $(pgrep -u <username>)

Чим це краще, ніж ps -u <username>зазначено в існуючій відповіді (або ps -fu <username>якщо ви хочете детальну інформацію про процес)?
Стівен Кітт

ps -u не забезпечує повну інформацію про процес, але ps -fu <ім'я користувача> так і є. Погодьтеся, ps -fu - найкраще рішення
user939407
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.