Answers:
您不能杀死使用该端口的任何东西吗?
lsof -ti:5901 | xargs kill -9
lsof -ti:5901
找到正在使用port的东西5901
。
将整个事情传递kill -9
给杀死使用port的任何对象5901
。
替换为您要再次打开的端口。
lsof -ti:5901
将返回一个进程号,然后您将其传递给kill -9
sudo
是否未完成此过程lsof
kill -9
除非程序完全没有响应,否则没有理由。使用信号#9(SIGKILL)杀死进程会立即终止该进程,而不会给进程提供刷新缓冲区,关闭文件句柄和套接字,删除临时文件等的机会,如果您使用该进程可以做所有这些事情kill
(默认为SIGTERM) ,然后是kill -1
(SIGHUP; hangup)和kill -2
(SIGINT; Ctrl + C发送的内容),如果那不起作用,最后kill -9
如果没有其他作用。
我想您仍然有一些连接到本地端口3000。
你可以找到它
netstat -tulpn | grep 3000
然后处理它。例如在我的机器上:
[:~] % netstat -tulpn | grep 5900
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 2547/vino-server
tcp6 0 0 :::5900 :::* LISTEN 2547/vino-server
正确识别正在等待并在端口5900(vnc服务器)上连接的进程。
另一个有用的命令是
fuser 3000/tcp
... sudo
如果您不拥有打开端口的进程,则可能需要与它们一起运行。
killall ssh
并使其死亡。猜测并非如此
sudo
-这就是我所缺少的。