我一直在使用 Rails,偶尔我的服务器会滑入后台,我必须手动将其杀死。为此,我一直在使用以下命令。
sudo netstat -tulpn | grep port_number
sudo -9 PID
有没有办法在一行中做到这一点,以便我可以给它起别名?或者甚至是一种无需复制 PID 以便将其放入脚本中的方法?
我一直在使用 Rails,偶尔我的服务器会滑入后台,我必须手动将其杀死。为此,我一直在使用以下命令。
sudo netstat -tulpn | grep port_number
sudo -9 PID
有没有办法在一行中做到这一点,以便我可以给它起别名?或者甚至是一种无需复制 PID 以便将其放入脚本中的方法?
sudo kill -9 `sudo netstat -tulpn | grep port_number | tail -c 23 | sed -e 's/\s*\(.*\)/\1/g' -e 's/\([0-9]*\).*/\1/g'`
不过,我不得不说,这是相当危险的,因为它会杀死部分匹配项(假设您在端口 8081 上有一些东西,并且您使用 81 运行它,如果这是第一个列表,它将杀死 8081 上的项目网络统计)
我会使用这样的东西:
sudo netstat -tlpn | grep ":16667 " | sed -n 's@.* \([0-9]*\)/ruby.*@kill \1@p' | sudo sh
仅杀死在该确切端口上侦听的 ruby 进程。