linux根据pid找程序,通过进程pid找程序路径

有时候追查linux中某个程序进程,通过ps只看见运行命令,通过以下方式可以看见程序的安装路径:

[root@sor-manager-01 ~]# ps aux|grep grafana

root 15894 0.6 0.0 4969960 53164 ? Sl Oct24 221:58 ./grafana-server

root 21348 0.0 0.0 112660 2220 pts/12 S+ 13:50 0:00 grep --color=auto grafana

# /proc/ 是程序进程信息,本例中grafana-server的当前进程是15894

[root@sor-manager-01 ~]# ls -l /proc/15894

total 0

dr-xr-xr-x 2 root root 0 Nov 17 11:12 attr

-rw-r--r-- 1 root root 0 Nov 17 11:14 autogroup

-r-------- 1 root root 0 Nov 17 11:14 auxv

-r--r--r-- 1 root root 0 Nov 17 11:14 cgroup

--w------- 1 root root 0 Nov 17 11:14 clear_refs

-r--r--r-- 1 root root 0 Oct 24 16:43 cmdline

-rw-r--r-- 1 root root 0 Nov 17 11:14 comm

-rw-r--r-- 1 root root 0 Nov 17 11:14 coredump_filter

-r--r--r-- 1 root root 0 Nov 17 11:14 cpuset

lrwxrwxrwx 1 root root 0 Nov 17 11:14 cwd -> /opt/htmirror/grafana-4.5.2/bin

-r-------- 1 root root 0 Nov 17 11:14 environ

lrwxrwxrwx 1 root root 0 Nov 17 11:14 exe -> /opt/htmirror/grafana-4.5.2/bin/grafana-server

dr-x------ 2 root root 0 Nov 17 11:12 fd

dr-x------ 2 root root 0 Nov 17 11:14 fdinfo

-rw-r--r-- 1 root root 0 Nov 17 11:14 gid_map

-r-------- 1 root root 0 Nov 17 11:14 io

-r--r--r-- 1 root root 0 Nov 17 11:14 limits

-rw-r--r-- 1 root root 0 Nov 17 11:14 loginuid

dr-x------ 2 root root 0 Nov 17 11:14 map_files

-r--r--r-- 1 root root 0 Nov 17 11:14 maps

-rw------- 1 root root 0 Nov 17 11:14 mem

-r--r--r-- 1 root root 0 Nov 17 11:14 mountinfo

-r--r--r-- 1 root root 0 Nov 17 11:14 mounts

-r-------- 1 root root 0 Nov 17 11:14 mountstats

dr-xr-xr-x 6 root root 0 Nov 17 11:14 net

dr-x--x--x 2 root root 0 Nov 17 11:14 ns

-r--r--r-- 1 root root 0 Nov 17 11:14 numa_maps

-rw-r--r-- 1 root root 0 Nov 17 11:14 oom_adj

-r--r--r-- 1 root root 0 Nov 17 11:14 oom_score

-rw-r--r-- 1 root root 0 Nov 17 11:14 oom_score_adj

-r-------- 1 root root 0 Nov 17 11:14 pagemap

-r-------- 1 root root 0 Nov 17 11:14 personality

-rw-r--r-- 1 root root 0 Nov 17 11:14 projid_map

lrwxrwxrwx 1 root root 0 Nov 17 11:14 root -> /

-rw-r--r-- 1 root root 0 Nov 17 11:14 sched

-r--r--r-- 1 root root 0 Nov 17 11:14 schedstat

-r--r--r-- 1 root root 0 Nov 17 11:14 sessionid

-rw-r--r-- 1 root root 0 Nov 17 11:14 setgroups

-r--r--r-- 1 root root 0 Nov 17 11:14 smaps

-r-------- 1 root root 0 Nov 17 11:14 stack

-r--r--r-- 1 root root 0 Oct 24 16:43 stat

-r--r--r-- 1 root root 0 Oct 26 16:40 statm

-r--r--r-- 1 root root 0 Oct 24 16:43 status

-r-------- 1 root root 0 Nov 17 11:14 syscall

dr-xr-xr-x 73 root root 0 Nov 6 18:50 task

-r--r--r-- 1 root root 0 Nov 17 11:14 timers

-rw-rw-rw- 1 root root 0 Nov 17 11:14 timerslack_ns

-rw-r--r-- 1 root root 0 Nov 17 11:14 uid_map

-r--r--r-- 1 root root 0 Nov 17 11:14 wchan

PID是指进程标识符,是操作系统中用来标识进程的一种编号。在Linux系统中,可以通过PID查询关于一个进程的信息。有时候我们需要知道某个进程程序路径,这时候,我们就需要根据PID查询。下面介绍一些方法: 1.通过/proc目录查询 Linux系统中,进程的信息都可以在/proc目录下到。每个进程都有自己的目录,目录的名称就是进程PID。进入相应PID的目录,即可程序路径。 首先通过pidof命令进程PIDpidof <进程名> 然后进入/proc目录,并进入相应的PID目录: cd /proc/<PID> 在该目录下,有一些文件是关于该进程的信息,如: cmdline:该进程所用的命令行参数,可以查看是否包含程序路径。 exe:该进程的可执行文件的软链接文件,通过ls -l命令查看。 2.通过ps命令查询 除了在/proc目录下查询,我们还可以使用ps命令查询某个进程的信息。通过ps命令可以查询进程PID程序路径等信息。 ps命令有多种格式,可以使用以下命令查询某个进程程序路径: ps -p <进程PID> -o comm= 该命令将显示该进程的可执行文件名,可以在该文件名前加上绝对路径,即可得到程序路径。 3.使用lsof命令查询 lsof命令用于列出当前系统打开的文件,命令格式如下: lsof -p <进程PID> 该命令将列出该进程打开的所有文件,其中包括程序的可执行文件和共享库文件等。可以通过查程序可执行文件的文件描述符来确定程序路径。 综上所述,根据PID查询程序路径的方法有多种,可以根据自己的需求选择适合的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值