“ps -eo args”输出中的“user # # # #”是什么意思?

“ps -eo args”输出中的“user # # # #”是什么意思?

我试图确定这些正在运行的进程在我尝试使用的实验室机器上是什么。我运行了以下命令来确定 cpu 使用率最高的 5 个进程:

ps -eo pid,user,pcpu,args | sort -k3 -n -r | head -n5

我得到类似的东西:

 3735 xdhmoore 1336 my stuff
25456 otherguy  100 user 3 4 10 1
25455 otherguy  100 user 2 4 10 1
25454 otherguy  100 user 1 4 10 1
 7181 root     11.0 antivirus stuff

我试图弄清楚user 3 4 10 1在该args领域意味着什么。我似乎没有user可用的命令,并且在查找文档时遇到了麻烦。这些是 Red Hat Enterprise Linux 机器。每台机器有 28 个 CPU,因此我认为这说明了 pcpu 值 >=100。我没有 root 访问权限。

who -a仅显示我,所以我相信这可能是物理机上旧登录的痕迹。

答案1

当您运行时ps -eo pid,user,pcpu,args |head -1,您将看到列表的标题ps。他们是:

  PID USER     %CPU COMMAND

在您的结果中,这意味着otherguy用户正在运行三个命令:

  • user 3 4 10 1
  • user 2 4 10 1
  • user 1 4 10 1

显然user只是他们正在运行的命令或实用程序的名称,数字是它的命令行参数。

要查找实际的二进制文件,您可以使用您尝试查找相关信息的进程的 PID,并/proc/<PID>/以 root 身份转到相应的目录。例如,如果您想了解进程#25454,您可以运行sudo ls -l /proc/25454/.

您将看到cwd一个指向该进程当前工作目录的符号链接,以及exe一个指向正在执行的实际程序的链接。

在实验室机器上,otherguy可能正在运行某种具有多种变化的研究模拟,因此完整的模拟运行需要几天或几周的时间。

或者,这些过程可能是伪装的硬币矿工......

如果您没有 root 访问权限,则应向本地系统管理员询问有关进程的信息,以及是否otherguy确实有权运行长期后台进程。如果没有 root 访问权限,您将无法对其他用户的进程执行任何操作。

相关内容