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

相关推荐
SelectDB8 小时前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao8 小时前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3102 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
A小辣椒4 天前
TShark:Wireshark CLI 功能
linux
A小辣椒4 天前
TShark:基础知识
linux
AlfredZhao4 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao4 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334665 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux