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 小时前
Linux字符设备驱动开发(四):进入硬件世界——GPIO子系统与LED设备驱动
linux·运维·驱动开发
无足鸟ICT5 小时前
【RHCA+】fortune命令(输出一句话)
linux
Coin_learning6 小时前
Linux 基础命令完全教程:从入门到实战
linux
Yupureki6 小时前
《MySQL数据库基础》9.索引原理
linux·运维·服务器·网络·数据库·mysql
睡不醒男孩0308236 小时前
StarRocks导入数据:从本地文件导入数据(Stream Load)
linux·数据库
2301_809051146 小时前
Linux TCP 和 UDP 通信
linux·运维·tcp/ip
Qt程序员6 小时前
从上电到系统就绪:ARM+U-Boot 嵌入式 Linux 启动流程
linux·运维·c++·内核·设备树·嵌入式·ram
雨中来客6 小时前
在开启了FBDEV 模拟层的设备上屏蔽/dev/fb0的显示功能
linux
Yupureki7 小时前
《MySQL数据库基础》8.复合查询
linux·运维·服务器·网络·数据库·mysql
方芯半导体7 小时前
ST系列MCU EtherCAT协议栈框架结构详解
服务器·网络·数据库·网络协议·机器人·自动化·工业以太网