在Linux中,怎么根据一个服务名查找一个进程?又怎么看这个服务所在的目录呢? top -c可以。寻找/proc的进程文件夹也可以。 但是有个超简单的命令,pwdx pid,就可以直接展示进程路径。 pid怎么查找出来的,在这篇文章【Linux简单实用小命令011】4种方法告诉你,怎么查看端口占用情况!中,已经告诉了你好几种方法,但是基本都是基于端口号的。 那不知道端口,怎么简单地用服务名查看一个进程呢? 就是ps -ef|grep 服务名这个命令了。毫不夸张地说,这也是运维、开发、测试等等使用Linux的同学在服务器上最常用的一个命令了。 ps的相关命令太多了,我们今天只说这个最简单的命令。 ps -ef|grep halo 找到启动命令中含有halo的服务。 实例: [root@yaomm ~]# ps -ef|grep halo root 17713 17669 0 22:16 pts/1 00:00:00 grep --color=auto halo root 28086 1 0 Apr27 ? 00:29:00 java -jar halo.maven-1.3.4.jar --spring.profiles.active=prod --server.port=9999 查找到进程28086。 然后让我们来看看pwdx怎么用的。 实例: [root@yaomm ~]# pwdx 28086 28086: /home/halo 找到服务对应进程28086,找到它的服务所在目录。 pwdx是不是跟pwd很像,不光名字像,功能也很像,后者是查找当前所在全路径,而前者是查找进程所在全路径。