如果我只知道 linux 中的进程名称,如何使用 proc 获取 pid
How to get the pid if i only know process name in linux using proc
我将编写程序使用 procfs 获取进程信息(pid、进程名称、虚拟内存、物理内存)。
我想要这样打印
PID Name Virtual physical shared
1 init 1234 123 22
33 firefox 33 33 2
我觉得可以通过proc/[pid]/stat获取进程信息
如果我想获取进程信息,我想我应该知道 pid。
但问题是我怎样才能只给定进程名称就得到pid。
因为进程 pid 在重启后或终止并重启后发生了变化。
所以我的问题是
如果我只知道进程名称,有没有办法获取 pid?不使用 shell 脚本
现在 proc 文件夹中是否有包含所有进程的文件 运行?
假设我只知道进程名称(例如 firefox),我想使用 proc 和 proc 文件系统
获取 pid
如果您不能使用像 pgrep
这样的工具,您可以查看所有 /proc/<pid>
目录并查看每个目录中的 exe
link 以找到一个指向您想要的可执行文件的文件。或者,如果有帮助,您可以查看每个中的 cmdline
。
我将编写程序使用 procfs 获取进程信息(pid、进程名称、虚拟内存、物理内存)。 我想要这样打印
PID Name Virtual physical shared
1 init 1234 123 22
33 firefox 33 33 2
我觉得可以通过proc/[pid]/stat获取进程信息 如果我想获取进程信息,我想我应该知道 pid。 但问题是我怎样才能只给定进程名称就得到pid。
因为进程 pid 在重启后或终止并重启后发生了变化。
所以我的问题是 如果我只知道进程名称,有没有办法获取 pid?不使用 shell 脚本
现在 proc 文件夹中是否有包含所有进程的文件 运行? 假设我只知道进程名称(例如 firefox),我想使用 proc 和 proc 文件系统
获取 pid如果您不能使用像 pgrep
这样的工具,您可以查看所有 /proc/<pid>
目录并查看每个目录中的 exe
link 以找到一个指向您想要的可执行文件的文件。或者,如果有帮助,您可以查看每个中的 cmdline
。