你不能像这样关闭一个打开的套接字。理想情况下,您只需终止已建立连接的进程即可。
检查您的连接lsof
(netstat
不会显示过程),使用您想要的任何连接状态过滤输出:
lsof -i
lsof -i | grep LISTEN
lsof -i | grep ESTABLISHED
Run Code Online (Sandbox Code Playgroud)
或者,要获取端口,例如17500
:
lsof -i:17500
Run Code Online (Sandbox Code Playgroud)
然后,只需杀死该进程。例如:
$ lsof -i | grep "Skype"
Skype 438 werner 9u IPv4 0xffffff801dd0c640 0t0 UDP localhost:52218
Skype 438 werner 42u IPv4 0xffffff80231a7a08 0t0 TCP *:29429 (LISTEN)
Skype 438 werner 43u IPv4 0xffffff8022e18a40 0t0 UDP *:29429
Run Code Online (Sandbox Code Playgroud)
杀死Skype:
killall Skype
Run Code Online (Sandbox Code Playgroud)
但请注意,这不会阻止建立连接——您必须在防火墙首选项中指定这一点。