我们有一个在Mac OS X上运行的
Java服务器应用程序.
偶尔这个应用程序已经没有响应,我们已经使用kill -9来杀死它.但是,这个过程并没有消失;它仍然显示为ps,其名称周围带有括号,STAT列中有问号:
$ps u -p 776
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
camadmin 776 0.0 0.0 0 0 ?? ?E 5:12PM 0:00.00 (java)
更重要的是服务器使用的端口仍然绑定:
$netstat -na | grep 9902
tcp4 0 0 *.9902 *.* LISTEN
即使它对lsof不可见:
$sudo lsof -P -i tcp | grep 9902
$
在端口仍然绑定的情况下,我们无法重新启动服务器应用程序.没有重新启动机器,可以做些什么来让端口释放并让这个过程真的被杀死?