摘要: 流氓java进程来自延迟停止的服务,从而阻止服务返回。如何使用批处理脚本在WINDOWS中优先通过端口80终止CLOSE_WAIT状态进程
停止java服务不会偶尔终止java进程,它会无休止地将其锁定在CLOSE_WAIT状态,所以当服务尝试返回时端口80仍在IP上使用,因此服务将无法开始
做一个netstat -ano返回IP/PORT组合的PID,然后我可以手动杀死它。我想阻止自己必须这样做。我想添加到我们的服务重新启动脚本中的一个部分,该部分将终止处于CLOSE_WAIT状态的任何端口80进程。
我可以在Linux下很轻松地做到这一点:
$ netstat -anp |\
grep ':80 ' |\
grep CLOSE_WAIT |\
awk '{print $7}' |\
cut -d \/ -f1 |\
grep -oE "[[:digit:]]{1,}" |\
xargs kill
但我的Windows批处理能力是相当低于平均水平。
任何人都可以在一个Windows相当于协助完成这项工作?
好吧,我会给这个镜头。看起来很有希望。有没有办法做到这一点,没有输出文件偶然......? – 2014-09-30 02:40:04
查看答案更新:) – Victor 2014-09-30 03:27:59
作品。非常感谢。 – 2014-09-30 21:54:51