我经常做
sudo netstat -lpn |grep :8088
查看输出
tcp6 0 0 :::8088 :::* LISTEN 11189/java
然后
sudo kill -kill 11189
我想有一个更方便的命令,就像killatport 8088
该命令使用tcp端口号作为变量,并且可以将其用作执行所需功能的管道的别名,但是如何从输出和管道中获取PID它对kill命令?我想我也许可以使用awk从netstat的输出中获取PID,但是我该如何维护并精确匹配端口,以使输入80与8080不匹配?我应该改为使用C程序吗?还是已经有一个像这样的小工具?
1
使用SIGKILL通常不是一个好主意。您为什么不希望该过程自行清理?
—
盖尔哈2014年
mvn jetty:stop
如果实例具有,则停止服务器可能会失败OutOfMemoryError
。当我重新启动Java servlet时,碰巧该端口即使在常规停止(例如)时也不可用mvn jetty:stop
。有时,该进程OutOfMemoryError
在正常关闭(例如)时可以获取或不能释放TCP端口mvn jetty:stop
。
尽管如此,
—
盖尔哈2014年
mvn jetty:stop
它与发送SIGTERM还是不同的,即使它的应用程序不在内存中,jvm也应该能够处理SIGTERM。