Linux 查出正在使用80端口的进程
时间:2019-11-20 08:53:27 来源:igfitidea点击:
在Linux中,如何查看哪个进程正在使用80端口?
在Linux中,如何查看端口被哪个进程占用?
在Linux中,下面的命令都可以查到哪个应用在占用端口:
- netstat是一个命令行工具,可显示网络连接,路由表和许多网络接口统计信息。
- fuser命令行工具,用于使用文件或套接字标识进程。
- lsof是一个命令行工具,用于列出Linux/UNIX下打开的文件,以报告所有打开文件的列表以及打开它们的进程。
- /proc/$pid 文件系统在Linux下/proc在/proc/PID包含每个正在运行的进程(包括内核进程)的目录,其中包含有关该进程的信息,特别是包括打开端口的进程名称。
Linux查找占用端口的进程
netstat命令找出正在使用80端口的程序
输入以下命令
# netstat -tulpn | grep :80
或者:
# netstat -tulpn | grep --color :80
输出示例:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1215/nginx
其中
- 0 0.0.0.0:80 源IP:端口
- 1215/nginx PID /进程名称
可以看到nginx正在占用80端口。
然后使用下面的命令,查找nginx的安装位置:
whatis nginx whereis nginx
使用/proc/$pid/exec文件找出正在使用80端口的进程
找出打开tcp 80端口的进程PI:
# fuser 80/tcp
输出示例:
80/tcp: 12161 21776 25250 25393
最后,找出与PID 3813相关的过程名称:
# ls -l /proc/12161/exe
输出示例:
lrwxrwxrwx. 1 root root 0 Aug 9 13:28 /proc/12161/exe -> /usr/sbin/lighttpd
然后使用下面的命令,查找lighttpd的安装位置:
man lighttpd whatis lighttpd whereis lighttpd
lsof命令找出正在使用80端口的进程
输入以下命令
# lsof -i :80 | grep LISTEN
输出示例:
apache2 1607 root 3u IPv4 6472 0t0 TCP *:www (LISTEN) apache2 1616 www-data 3u IPv4 6472 0t0 TCP *:www (LISTEN) apache2 1617 www-data 3u IPv4 6472 0t0 TCP *:www (LISTEN)