我运行一个 rails 开发环境,它运行一个我可以在 localhost:3000 访问的服务器。今天我又这样做了,然后去重启 web 服务器,结果它开始超时了。
过了一段时间我运行后nmap localhost
发现‘ppp’正在端口 3000 上运行:
3000/tcp open ppp
我从未使用过 PPP,它阻碍了我完成工作。我试过service pppd-dns stop
,但似乎没有效果。我甚至试过sudo apt-get remove ppp
,但端口仍然打开,我仍然无法启动我的 rails 服务器。
答案1
好吧,@whiskers75 的答案一开始似乎有效,但是我现在再次看到了这种行为并且 ppp 仍然没有安装 - 一定是之前重新启动才起了作用。
我曾经netstat -tulpn
检查过哪些进程监听哪些端口,结果发现 nmap 给出了误导性的信息 - 不是 ppp,而是 ruby。一个无效的 ruby 进程是由一个死的 rails 实例遗留下来的,并且仍在监听端口 3000。
killall ruby
成功了,端口被释放了,我可以重新启动我的 rails 服务器了。
答案2
尝试sudo apt-get purge ppp
然后重新启动。