记住我linux下如何查看⼀个服务所在的安装路径?
当接⼿⼀个不是⾃⼰维护的linux服务器,我们常常会想要看看该服务器上是否安装了某个服务,这个服务安装的路径在哪?
redis 是开发过程中常常会⽤到的⼀个服务,我这⾥就以这个服务为例,进⾏说明。
1.执⾏ps -ef | grep redis 命令结果如下:
⼩结:可以看到,通过ps命令只能查到服务的相对路径,查不到的进程的详细信息,如绝对路径。
2.执⾏ps -u 系统⽤户名,进⼀步确定进程id,
我这⾥的系统⽤户名是root,执⾏ps -u root,结果如下:
结合1的操作结果图可知,redis服务所在的进程id 为30058,
3.进⼊linux的进程⽬录/proc,执⾏ls -l ,可以看到对应的进程⽬录,结果如下图所⽰:
4.进⼊30058这个进程⽬录,执⾏ ls -l,结果如下:
⼩结:
linux在启动⼀个进程时,系统会在/proc下创建⼀个以PID命名的⽂件夹,在该⽂件夹下会有我们的进程的信息,其中包括⼀个名为exe的⽂件即记录了绝对路径,通过ll或ls –l命令即可查看
cwd符号链接的是进程运⾏⽬录;
exe符号连接就是执⾏程序的绝对路径;
cmdline就是程序运⾏时输⼊的命令⾏命令;
environ记录了进程运⾏时的环境变量;
fd⽬录下是进程打开或使⽤的⽂件的符号连接