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

相关推荐
暴力求解2 小时前
Linux网络---传输层协议TCP(二)
linux·服务器·开发语言·网络·tcp/ip
JoyCong19982 小时前
ToDesk个人版、专业版、游戏版、设计版、性能版、团队版权益介绍
大数据·运维·游戏·远程工作·远程操作
ltl2 小时前
序列化格式深度对比:Protobuf、FlatBuffers、Cap’n Proto
linux
lengjingzju2 小时前
编译与调试完全指南—第17章 总结
linux
ltl3 小时前
容器网络性能真相:veth vs macvlan vs eBPF 数据面
linux
Elastic 中国社区官方博客3 小时前
ES95:面向 Elasticsearch 时间序列指标的自适应压缩
大数据·运维·elasticsearch·搜索引擎·架构·全文检索
我不会插花弄玉4 小时前
9.进程间通信(上)【由浅入深-Linux】
linux·共享内存·进程通信
80s7774 小时前
动态ip和静态ip有什么区别
服务器·网络·tcp/ip
mqiqe4 小时前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络
mennekes4 小时前
数据中心安全配电设备如何选择?
运维·人工智能·科技·安全·制造