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

相关推荐
路由侠内网穿透.9 分钟前
本地部署开源客服系统 FreeScout 并实现外部访问( Windows 版本)
运维·服务器·网络·windows·网络协议
zhangzeyuaaa1 小时前
从Windows到Linux:Shell脚本“无法执行:找不到需要的文件”问题深度解析与根治方案
linux·运维·windows
向宇it1 小时前
关闭SSH密码登录,SSH 如何使用公钥密钥登录服务器(解决服务器经常被攻击问题)
服务器·网络·ssh
大卡片1 小时前
进程间通信
linux·运维·服务器
张小姐的猫1 小时前
【Linux】进程信号(上)—— 信号产生 | 保存信号
linux·运维·服务器
石小千1 小时前
部署Nextcloud与Onlyoffice(二)安装Onlyofiice
linux·运维
xuanwenchao1 小时前
Mac M1/M2/M3/M4/M5芯片-系统安装Ubuntu
linux·ubuntu·macos
白毛大侠1 小时前
Docker vs 虚拟机 vs Go 用户态/内核态:这三组概念
运维·docker·golang·kvm
小白勇闯网安圈2 小时前
腾讯云服务器部署Dify
服务器·人工智能·云计算·腾讯云
芝士就是力量啊 ೄ೨2 小时前
提高服务器安全-采用密钥公钥登录而非密码登录-详细操作步骤
运维·服务器·安全