Linux 查詢應用進程號、端口、文件(知道其中之一查詢其他)

背景

日常搭建環境、查問題、接手前人搭建的環境等日常操作都需要。

常見的場景

  1. 查詢應用程序的端口號(懶得查看配置文件),就可以通過查找進程號,再找端口號;
  2. 知道應用程序的訪問 url,在服務器通過端口號,反查進程號、文件等;
  3. 查詢某個文件是否被應用程序佔用。

查看應用進程號

# 查看 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章