用户当前运行的进程

用户当前运行的进程

我正在寻找命令或脚本来获取系统中当前由用户运行的进程。我尝试了该ps -Af命令,但是弹出了所有进程,包括根进程。是否有任何命令可以仅让用户运行进程?否则我需要一些帮助来编写一个脚本从命令中取出根进程ps -Af

答案1

如果您想要删除root,只需执行您的操作ps -Af并通过 grep 将其传输出去:

ps -Af | grep -v root

当然,这是草率的。如果你正在运行一个名为 troot 的程序,你也会失去它。你可以更精确地使用awk和删除右列中有 root 的任何行。我没有ps -Af眼前的输出,但为了论证的目的,我们假设用户 ID 在第 3 列。在这种情况下,你需要这样做:

ps -Af | awk '$3 != "root" { print $0 }'

答案2

这将为您提供所有不属于 root 的进程:

ps -N -u root 

答案3

ps --deselect -U root。这--deselect颠覆了的逻辑-U root

答案4

你应该尝试 whowatch

它为您提供了一个很好的概览,让您了解哪些用户已登录、他们当前正在运行哪些进程等等

相关内容