如果我知道某个进程的 PID 号,如何获取其名称?

如果我知道某个进程的 PID 号,如何获取其名称?

如果我知道某个进程的 PID 号(在 UNIX 机器上),如何找出与其关联的进程的名称?

我需要做什么?

答案1

在所有符合 POSIX 的系统以及 Linux 上,您可以使用ps

ps -p 1337 -o comm=

这里,进程通过其 PID 来选择-p-o选项指定输出格式,comm即命令名称。

对于完整命令(而不仅仅是程序名称),请使用:

ps -p 1337 -o command

也可以看看:ps– 开放群组基础规范第 6 期

答案2

您可以从以下位置找到进程名称或进程 ID 或 pid 使用的命令

/proc/<pid>/cmdline

通过做

cat /proc/<pid>/cmdline

这里的 pid 是您想要查找名称的 pid
例如:

 # ps aux

   ................
   ................
   user  2480  0.0  1.2 119100 12728 pts/0  Sl   22:42   0:01 gnome-terminal
   ................
   ................

要查找 pid 2480 使用的进程名称,可以使用

# cat /proc/2480/cmdline 

 gnome-terminal

答案3

要获取使用特定 pid 的程序的路径,您可以使用:

ps ax|egrep "^ [PID]"

在此处输入图片描述

或者你也可以使用:

ps -a [PID]

或者:

readlink /proc/[PID]/exe

答案4

# ls -la /proc/ID_GOES_HERE/exe

例子:

# ls -la /proc/1374/exe
lrwxrwxrwx 1 chmm chmm 0 Mai  5 20:46 /proc/1374/exe -> /usr/bin/telegram-desktop

相关内容