背景
日常搭建環境、查問題、接手前人搭建的環境等日常操作都需要。
常見的場景
- 查詢應用程序的端口號(懶得查看配置文件),就可以通過查找進程號,再找端口號;
- 知道應用程序的訪問 url,在服務器通過端口號,反查進程號、文件等;
- 查詢某個文件是否被應用程序佔用。
查看應用進程號
# 查看 jenkins 進程號
$ ps -ef | grep jenkins
或者
$ ps aux | grep jenkins
jenkins 23288 0.2 8.0 7958468 1294952 ? Sl 3月27 161:08 java -jar jenkins.war --webroot=/home/jenkins/war --prefix=/jenkins
# java 應用可以通過 jps 命令查詢
$ jps -mlv | grep jenkins
23288 jenkins.war --webroot=/home/jenkins/war --prefix=/jenkins
查詢端口對應的進程號
$ lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 23288 jenkins 155u IPv4 224369961 0t0 TCP *:webcache (LISTEN)
或者
$ netstat -lnp | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 23288/java
查看應用進程佔用的文件信息
$ lsof -p <PID>
查看文件被那個進程佔用
$ lsof jenkins.log
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 23288 jenkins 1w REG 253,1 9797873 1455418 jenkins.log
java 23288 jenkins 2w REG 253,1 9797873 1455418 jenkins.log
微信公衆號:daodaotest