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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。