Linux通过端口号查找进程号

使用lsof命令

lsof 是“list open files”的缩写,在linux系统中,一切可是为文件,网络连接也可视为文件,因此,我们可以通过lsof命令查看占用某个端口号的进程。

示例:

lsof -i :8080
或者
lsof -i | grep 8080

参数解释:-i 是Internet的缩写,它表示选择网络地址与[i]表示的内容匹配的所有文件(网络连接)。

使用netstat命令

netstat是用于打印网络连接、路由表、接口统计信息等。目前官方文档是这是一个过时的命令,因此推荐使用其他命令,如netstat大部分的功能都可以通过ip命令实现。

在这里,我们仍给出使用netstat命令实现通过端口号查找进程号的示例。

示例:

netstat -nlp | grep 8080

参数解释:

  • -n --numeric的缩写,即通过数值展示ip地址
  • -l --listening的缩写,只打印正在监听中的网络连接
  • -p --program,打印相应端口号对应进程的进程号

Linux命令之根据端口号查进程

linux环境下,我们常常会查询进程号pid

最常用ps -ef |grep xx

查出的数据第二列(16615)是elasticsearch的进程号

通常我们会根据端口号查进程号,或者通过进程号查端口号

  • lsof

根据进程pid查端口

lsof -i | grep pid

根据端口port查进程

lsof -i:port

  • netstat

根据进程pid查端口

netstat -nap | grep pid

根据端口port查进程

netstat -nap | grep port

总结