2012-10-15 59 views
1

在Tomcat 7中,当使用catalina.sh stop force停止容器时,脚本使用CATALINA_PID环境变量向当前正在运行的容器进程的pid发送kill -9。然而,这不会杀死process instantaneously--比如说当进程处于系统调用的中间时。在这种情况下,为什么我们不能使用在非强制模式下停止使用的kill -0 ``cat "$CATALINA_PID"`` >/dev/null 2>&1技巧(在catalina.sh中)?这将确保stop force是同步的。只是想知道是否有充分的理由为什么没有这样做。为什么不把tomcat停止强制作为同步操作

在此先感谢!

编辑:

记录了bugzilla enhancement ticket在Tomcat它。

+0

你的意思是为什么+不能+我们使用那个技巧?无论如何,你的问题不能在这里得到解答。试试Tomcat开发者的邮件列表。 – EJP

+0

是的,意思是为什么不能:) – Kilokahn

+0

也会尝试开发邮件列表。谢谢! – Kilokahn

回答

1

这可能适用于Linux,但我认为kill -0是Linux的唯一的东西。

您当然可以在Apache Bugzilla中提交增强请求。

请注意,它仍然不是“同步”操作......您只是在查询预期条件。

+0

谢谢克里斯托弗的信息。对于预期条件的轮询是catalina.sh stop指令也做的事情,并且在那里没有针对特定操作系统/特定于操作系统的检查 - 所以我的猜测是该解决方案无处不在。此外,solaris上的手册页似乎也表明了对它的支持。是的,如果这种方式停止强制操作只是等待预期的结束条件,并没有真正的同步。将尝试制定此解决方案的工作副本并提交修改后的bugzilla请求。再次感谢! – Kilokahn

相关问题