背景
日常搭建环境、查问题、接手前人搭建的环境等日常操作都需要。
常见的场景
- 查询应用程序的端口号(懒得查看配置文件),就可以通过查找进程号,再找端口号;
- 知道应用程序的访问 url,在服务器通过端口号,反查进程号、文件等;
- 查询某个文件是否被应用程序占用。
查看应用进程号
代码语言:javascript复制1# 查看 jenkins 进程号
2$ ps -ef | grep jenkins
3或者
4$ ps aux | grep jenkins
5jenkins 23288 0.2 8.0 7958468 1294952 ? Sl 3月27 161:08 java -jar jenkins.war --webroot=/home/jenkins/war --prefix=/jenkins
6
7# java 应用可以通过 jps 命令查询
8$ jps -mlv | grep jenkins
923288 jenkins.war --webroot=/home/jenkins/war --prefix=/jenkins
查询端口对应的进程号
代码语言:javascript复制1$ lsof -i:8080
2COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
3java 23288 jenkins 155u IPv4 224369961 0t0 TCP *:webcache (LISTEN)
4
5或者
6
7$ netstat -lnp | grep 8080
8tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 23288/java
查看应用进程占用的文件信息
代码语言:javascript复制1$ lsof -p <PID>
查看文件被那个进程占用
代码语言:javascript复制1$ lsof jenkins.log
2COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
3java 23288 jenkins 1w REG 253,1 9797873 1455418 jenkins.log
4java 23288 jenkins 2w REG 253,1 9797873 1455418 jenkins.log