Linux查看进程运行的完整路径方法
Posted on: 2021年1月26日 at 07:49
这是一篇发布于 375 天以前的旧文,其中的部分内容可能已经过时。
通过 ps
及 top
命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等。这时,我们需要通过以下的方法来查看进程的详细信息:
在 /proc
目录下查看进程详细信息
Linux 在启动一个进程时,系统会在 /proc
下创建一个以 PID 命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为 exe 的文件即记录了绝对路径,通过 ll
或 ls –l
命令即可查看。
ll /proc/PID
cwd
符号链接的是进程运行目录;exe
符号连接就是执行程序的绝对路径;cmdline
就是程序运行时输入的命令行命令;environ
记录了进程运行时的环境变量;fd
目录下是进程打开或使用的文件的符号连接。
使用 ps
命令
# 显示进程信息:
ps -ef | grep 进程关键字
# 显示指定用户信息
ps -u root
使用 top
命令
命令选项如下:
- d:改变显示的更新速度,或是在交谈式指令列 (interactive command) 按 s
- q:没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
- c:切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
- S:累积模式,会将己完成或消失的子行程 (dead child process) 的 CPU time 累积起来
- s:安全模式,将交谈式指令取消,避免潜在的危机
- i:不显示任何闲置 (idle) 或无用 (zombie) 的行程
- n:更新的次数,完成后将会退出 top
- b:批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
示例:
# 表示更新两次后终止更新显示
top -n 2
# 表示更新周期为3秒
top -d 3
# 显示进程号为139的进程信息,CPU、内存占用率等
top -p 139