0%

Linux(CentOS)根据进程查找程序位置

我们可能经常会遇到这种情况,登录到服务器上,想知道某个程序的位置在哪里,或者这个程序加载的配置文件位置在哪里。

首先,查看进程信息,比如我要查看 redis 程序运行的位置。

1
2
3
# ps -ef | grep redis
root 31087 1 0 Mar24 ? 00:06:56 ./redis-server *:6379
root 114543 112619 0 19:16 pts/2 00:00:00 grep --color=auto redis

获取到了进程号:31087

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# ll /proc/31087
total 0
dr-xr-xr-x 2 root root 0 Mar 30 19:01 attr
-r-------- 1 root root 0 Mar 30 19:01 auxv
-r--r--r-- 1 root root 0 Mar 30 19:01 cgroup
--w------- 1 root root 0 Mar 30 19:01 clear_refs
-r--r--r-- 1 root root 0 Mar 24 10:30 cmdline
-rw-r--r-- 1 root root 0 Mar 30 19:01 comm
-rw-r--r-- 1 root root 0 Mar 30 19:01 coredump_filter
-r--r--r-- 1 root root 0 Mar 30 19:01 cpuset
lrwxrwxrwx 1 root root 0 Mar 30 19:01 cwd -> /redis/bin
-r-------- 1 root root 0 Mar 30 19:01 environ
lrwxrwxrwx 1 root root 0 Mar 24 10:30 exe -> /redis/bin/redis-server
dr-x------ 2 root root 0 Mar 30 19:01 fd
dr-x------ 2 root root 0 Mar 30 19:01 fdinfo
-rw-r--r-- 1 root root 0 Mar 30 19:01 gid_map
-r-------- 1 root root 0 Mar 30 19:01 io
-r-------- 1 root root 0 Mar 30 19:01 kgr_in_progress
-r--r--r-- 1 root root 0 Mar 30 19:01 latency
-r--r--r-- 1 root root 0 Mar 30 19:01 limits
-rw-r--r-- 1 root root 0 Mar 30 19:01 loginuid
-rw-r--r-- 1 root root 0 Mar 30 19:01 make-it-fail
dr-x------ 2 root root 0 Mar 30 19:01 map_files
-r--r--r-- 1 root root 0 Mar 30 19:01 maps
-rw------- 1 root root 0 Mar 30 19:01 mem
-r--r--r-- 1 root root 0 Mar 30 19:01 mountinfo
-r--r--r-- 1 root root 0 Mar 30 19:01 mounts
-r-------- 1 root root 0 Mar 30 19:01 mountstats
dr-xr-xr-x 5 root root 0 Mar 30 19:01 net
dr-x--x--x 2 root root 0 Mar 30 19:01 ns
-r--r--r-- 1 root root 0 Mar 30 19:01 numa_maps
-rw-r--r-- 1 root root 0 Mar 30 19:01 oom_adj
-r--r--r-- 1 root root 0 Mar 30 19:01 oom_score
-rw-r--r-- 1 root root 0 Mar 30 19:01 oom_score_adj
-r-------- 1 root root 0 Mar 30 19:01 pagemap
-r-------- 1 root root 0 Mar 30 19:01 personality
-rw-r--r-- 1 root root 0 Mar 30 19:01 projid_map
lrwxrwxrwx 1 root root 0 Mar 30 19:01 root -> /
-rw-r--r-- 1 root root 0 Mar 30 19:01 sched
-r--r--r-- 1 root root 0 Mar 30 19:01 schedstat
-r--r--r-- 1 root root 0 Mar 30 19:01 sessionid
-rw-r--r-- 1 root root 0 Mar 30 19:01 setgroups
-r--r--r-- 1 root root 0 Mar 30 19:01 smaps
-r-------- 1 root root 0 Mar 30 19:01 stack
-r--r--r-- 1 root root 0 Mar 24 09:47 stat
-r--r--r-- 1 root root 0 Mar 24 10:30 statm
-r--r--r-- 1 root root 0 Mar 24 16:12 status
-r-------- 1 root root 0 Mar 30 19:01 syscall
dr-xr-xr-x 6 root root 0 Mar 30 19:01 task
-r--r--r-- 1 root root 0 Mar 30 19:01 timers
-rw-r--r-- 1 root root 0 Mar 30 19:01 uid_map
-r--r--r-- 1 root root 0 Mar 30 19:01 wchan

通过上述信息我们则知道了运行程序的位置 /redis/bin/redis-server