linux shell 查看进程的可执行程序路径
2013-05-18 02:46
971 查看
Linux下,如果某些程序启动的时候没有加上绝对路径,直接在当前目录用“./程序名 参数表”的方式启动的话,使用ps或者top命令查看后台进程的时候,显示的Comand栏也只是“./程序名 参数表”的形式,为了找到该程序的绝对路径,想必大家最先想到的是用find命令全盘搜索,但是这样做的代价太大,而且当有多个同名文件时还不一定能区分开来,这里教大家一个更简单有效的办法。 因为任何一个程序启动以后,Linux系统会为其分配一个ID,即我们熟悉的PID,称为进程号,与此同时,系统会在/proc目录下为其创建一个独立的文件夹,文件夹以PID命名,在该文件夹内保存着该进程运行相关的详细信息,有兴趣的朋友可以进到这个目录下好好研究研究,不过今天的重点是获得该进程的绝对路径。在该目录下有一个名为exe的文件,像Windows系统下的可执行文件,这其实是一个符号链接(类似于Windows下的快捷方式),它指向该进程对应程序的绝对路径。用file命令或ls命令查看该符号链接的属性即可获取它所指向的绝对路径。ls -l /proc/PID/exe
file /proc/PID/exe
将PID替换为你想查看的进程号即可,注意两条命令都需要root权限运行,Ubuntu下加sudo即可。
Linux下查看进程绝对路径注:此方法仅在bash下测试有效。ps -el | grep hellols -l /proc/19120/exe | awk '{print $11}'hello是某程序的名字,ps -el | grep hello 命令把是hello名字进程全部列出来。然后,加入要查看进程号PID为19120的可执行程序路径,ls -l /proc/19120/exe | awk '{print $11}'
写一个脚本获取指定进程名字的绝对路径,该脚本匹配包含参数1的进程名,列出所有进程的可执行程序的路径。脚本文件psd 如下
file /proc/PID/exe
将PID替换为你想查看的进程号即可,注意两条命令都需要root权限运行,Ubuntu下加sudo即可。
Linux下查看进程绝对路径注:此方法仅在bash下测试有效。ps -el | grep hellols -l /proc/19120/exe | awk '{print $11}'hello是某程序的名字,ps -el | grep hello 命令把是hello名字进程全部列出来。然后,加入要查看进程号PID为19120的可执行程序路径,ls -l /proc/19120/exe | awk '{print $11}'
写一个脚本获取指定进程名字的绝对路径,该脚本匹配包含参数1的进程名,列出所有进程的可执行程序的路径。脚本文件psd 如下
#! /bin/bash if [ $# -ne 1 ] ; then echo "Usage: psd exe" exit 1 fi for pid in `ps -e | grep $1 | awk '{print $1}'` ; do echo -n "${pid} " ls -l /proc/${pid}/exe | awk '{print $11}' done本文转自 /article/6261772.html
相关文章推荐
- linux shell 查看进程的可执行程序路径
- Linux查看上可执行程序或运行进程的依赖库
- linux 程序内部 查看可执行程序路径
- linux 下查看一个进程执行路径
- linux 下查看某进程的完整执行路径
- linux shell 查看进程运行或绑定的cpu和绑定执行进程到特定cpu上执行的方法
- Linux下查看进程的执行文件绝对路径
- 查看文件内容- 删除某个运行程序的所有进程-nohup后台执行程序
- linux通过端口号(进程号pid)查找程序执行路径
- Linux查看可执行程序所在路径
- Linux查看可执行程序所在路径
- 在Linux程序中如何获得本进程的可执行文件的全路径?
- 看看端口被哪个程序占用了,如何查看任务进程对应的安装路径?
- 在Linux程序中如何获得本进程的可执行文件的全路径?
- linux中根据进程的PID值来查找执行文件的及其路径
- linux 查看进程启动路径
- WPF中获取程序执行路径ExecutablePath
- Linux操作系统分析(2)- 进程的创建与可执行程序的加载
- ldd查看可执行程序依赖的文件
- linux中根据进程的PID值来查找执行文件的及其路径