如何查看特定用户在Unix / linux中创建的进程


115

我想查看由特定用户或Linux用户组创建的进程列表,可以使用ps命令执行此操作吗?或者是否有其他命令可以实现此目的?


6
ps -u username。大多数命令都有一个手册页,您可以使用阅读man the-command
斯特凡Chazelas

Answers:


160

要仅查看特定用户拥有的进程,请使用以下命令:

top -U [username]

将[用户名]替换为所需的用户名

如果要使用ps

ps -u [username]

要么

 ps -ef | grep <username>

要么

ps -efl | grep <username>

用于扩展列表

查看man ps页面以了解选项

另一种选择是使用pstree wchich打印用户的进程树

pstree <username or pid>

2
全部`... | 如果您有两个超过N个字符的用户名,则grep <用户名>`解决方案将不起作用。在我的情况下,N为
6。– guettli

1
注意:出现错误top -U [username]top -u [username]而是为我工作。Debian9。因此,如果其他人在-U表单上遇到错误,请尝试使用小写字母。
Gloweye

2

试试这个

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

ps -u <username>如现有答案中所述(或者ps -fu <username>如果您需要过程详细信息),这比更好吗?
斯蒂芬·基特

ps -u没有提供完整的进程详细信息,但是ps -fu <username>提供了。同意ps -fu是最佳解决方案
user939407 '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.