linux 定位进程文件路径

有时候用top 打开任务管理器时知道某个任务的进程的存在,但不知道是哪个文件,只需两条指令只可定位进程的可执行文件路径

  1. 使用 ls -l /proc/<PID>/cwd 命令来查找该进程的当前工作目录。
  2. 使用 cat /proc/<PID>/cmdline 命令来查看该进程的命令行参数,参数可能包含路径信息。
bash 复制代码
# 查看运行目录
ls -l /proc/<PID>/cwd

# 查看执行参数
cat /proc/<PID>/cmdline

示例:

这里以查找一个python运行的进程文件为例子:

1 先找出所有python进程

bash 复制代码
ps -ef|grep python

找出所有的python 进程如下图:

这里我们 选择定位上图的mon.py文件路径为例,它的进程ID是 2921

bash 复制代码
ls -l /proc/2921/cwd

执行后我们找到执行此进程的当前路径,但还没有确定运行的python文件名称mon.py,需要查看执行参数:

bash 复制代码
cat /proc/2921/cmdline

如上图,执行后发现是 python3 mon.py ,这里的mon.py是当前目录,也就是说是在/usr/bin目录下执行了 python3 mon.py ,所以 mon.py文件就在/usr/bin/mon.py位置。

相关推荐
SkyWalking中文站5 分钟前
使用 TraceQL 查询 SkyWalking 和 Zipkin 链路追踪数据并在 Grafana 中可视化
运维·grafana·监控
独小乐5 分钟前
009.中断实践之实现按键测试|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·arm
kobe_OKOK_8 分钟前
S7 adapter Docker run
运维·docker·容器
披着羊皮不是狼9 分钟前
将Ubuntu从C盘移动到D盘
linux·运维·ubuntu
炜宏资料库12 分钟前
产业集团总部大楼智能化系统项目规划方案精讲
运维·服务器·数据库
一个欠登儿程序员15 分钟前
在国产服务器上通过 Docker 部署 Windows 虚拟机
服务器·windows·docker
.select.15 分钟前
TCP 3
服务器·网络·tcp/ip
l2ohvef18 分钟前
Windows 7 虚拟机 VMware Tools 安装失败:无法自动安装VSock 驱动程序
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志26 分钟前
从零开始写Linux字符设备驱动:一个不操作硬件的Hello驱动
linux·运维·数据库
Benszen29 分钟前
Ansible自动化运维实战
linux·运维·自动化·ansible