linux查看端口被哪个进程占用
1、lsof -i:端口号
bash
sudo lsof -i :22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 661 root 3u IPv4 13882 0t0 TCP *:ssh (LISTEN)
sshd 661 root 4u IPv6 13893 0t0 TCP *:ssh (LISTEN)
sshd 1083 root 4u IPv4 14120 0t0 TCP debian:ssh->_gateway:53344 (ESTABLISHED)
sshd 1141 vm 4u IPv4 14120 0t0 TCP debian:ssh->_gateway:53344 (ESTABLISHED)
2、netstat -tunlp|grep 端口号
bash
sudo netstat -lntup|grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 661/sshd: /usr/sbin
tcp6 0 0 :::22 :::* LISTEN 661/sshd: /usr/sbin
udp 0 0 0.0.0.0:631 0.0.0.0:* 722/cups-browsed
3、ss
bash
sudo ss -lntup|grep 22
udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:* users:(("cups-browsed",pid=722,fd=7))
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=661,fd=3))
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=661,fd=4))
4、fuser
bash
sudo fuser -v 22/tcp
USER PID ACCESS COMMAND
22/tcp: root 661 F.... sshd
root 1083 F.... sshd
vm 1141 F.... sshd
第4列的权限也成访问类型,如下:
c 代表当前目录 F 打开的文件,用于写操作。默认不显示。
e 可执行的被运行 m 映射文件或者共享库。
f 打开的文件。默认不显示。 r 根目录。