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位置。

相关推荐
水饺编程5 小时前
第2章:Linux 基础,whoami 命令
linux·c语言·汇编
北京靠谱的GEO优化机构5 小时前
为什么优质百科词条需要修改更新?常态化运维实操指南
运维
鱼很腾apoc5 小时前
【MySQL】 第2期 查询与函数系统详解:从基础 CRUD 到复合多表查询
linux·数据库·学习·mysql·dml
IMPYLH5 小时前
Linux 运维基础:从入门到实战的完整指南
linux·运维·php
前端 贾公子6 小时前
LangGraph == 图的状态(State)管理 (下)
运维·服务器·数据库
Lsetea6 小时前
curl走HTTPS代理报SSL证书错误:proxy-cacert与cacert双层信任排查
linux·https·ssl证书·curl·代理服务器
星恒随风6 小时前
Linux进程间通信(二):深入理解System V共享内存、消息队列、信号量与内核IPC资源管理
linux·运维·服务器·笔记·学习·状态模式
yunwei376 小时前
eBPF 实例教程:BPF Arena 零拷贝共享内存
linux·后端·性能优化
yangmu32036 小时前
PLC 设备介绍:工业自动化的“控制大脑”
运维·自动化
IMPYLH6 小时前
Linux 文件检索:find、locate、grep 与 which 实战指南
linux·运维·服务器