【Linux】查看项目运行端口号,进程号,文件所在位置
一、查看项目是否运行,即PID号
ps -ef | grep 项目名称(进程名称)
或ps -aux | grep 项目名称(进程名称)
,如下:
[root@VM-24-11-centos ~]# ps -ef | grep java
root 2000995 1 25 Feb19 ? 10:13:34 java -jar server.jar
root 2325465 2325358 0 10:38 pts/0 00:00:00 grep --color=auto java
上述查询结果中,2000995
是运行server.jar
的PID号即当前进程号。
二、进程号和占用端口号互查
根据进程号查询占用端口号:netstat -nap | grep 进程号
,如下:
[root@VM-24-11-centos ~]# netstat -nap | grep 2000995
tcp6 0 0 :::25565 :::* LISTEN 2000995/java
unix 3 [ ] STREAM CONNECTED 9283783 2000995/java
unix 2 [ ] STREAM CONNECTED 9283753 2000995/java
unix 3 [ ] STREAM CONNECTED 9283784 2000995/java
unix 3 [ ] STREAM CONNECTED 9284832 2000995/java
unix 2 [ ] STREAM CONNECTED 9282408 2000995/java
unix 3 [ ] STREAM CONNECTED 9284831 2000995/java
上述查询结果中,25565即该项目所占用端口号。
该命令也可以根据占用端口号查询进程号:netstat -nap | grep 端口号
,如下:
[root@VM-24-11-centos ~]# netstat -nap | grep 25565
tcp6 0 0 :::25565 :::* LISTEN 2000995/java
三、根据进程号查询运行项目所在位置
cd /proc/进程号
,该目录下的cwd
指向的就是项目所在位置,如下:
[root@VM-24-11-centos ~]# cd /proc/2000995
[root@VM-24-11-centos 2000995]# ll
total 0
dr-xr-xr-x 2 root root 0 Feb 21 10:54 attr
-rw-r--r-- 1 root root 0 Feb 21 11:04 autogroup
-r-------- 1 root root 0 Feb 21 11:04 auxv
-r--r--r-- 1 root root 0 Feb 21 11:04 cgroup
--w------- 1 root root 0 Feb 21 11:04 clear_refs
-r--r--r-- 1 root root 0 Feb 21 07:59 cmdline
-rw-r--r-- 1 root root 0 Feb 21 11:04 comm
-rw-r--r-- 1 root root 0 Feb 21 11:04 coredump_filter
-r--r--r-- 1 root root 0 Feb 21 11:04 cpu_resctrl_groups
-r--r--r-- 1 root root 0 Feb 21 11:04 cpuset
lrwxrwxrwx 1 root root 0 Feb 21 08:28 cwd -> /usr/local/games/mc
-r-------- 1 root root 0 Feb 21 11:04 environ
lrwxrwxrwx 1 root root 0 Feb 21 08:01 exe -> /usr/local/jdk/jdk-17.0.2/bin/java
......
可以明显看出,项目所在目录是/usr/local/games/mc