【发布时间】:2014-01-28 10:36:35
【问题描述】:
我有在 tomcat 上运行的 java 应用程序。我有 shell 脚本,它会重新启动 tomcat,然后执行其他 unix 命令。所以当我运行这个shell脚本时,从我的应用程序(java代码)中,一旦tomcat重新启动,它就会退出shell脚本并且在tomcat重启后不运行unix命令。
我知道当我们从java运行shell脚本时,它是由tomcat作为父进程运行的,当tomcat重启时它会杀死父进程,所以tomcat重启后的命令不会执行。
有没有办法在tomcat重新启动后运行shell脚本...我尝试使用不同的选项,例如nohup、/bin/sh -c,但它们都不起作用...一旦tomcat重新启动脚本死了。
【问题讨论】:
-
您可能不得不从您正在重新启动的 tomcat 之外的其他东西上运行它。想一想,如果你命令你的电脑关机再打开记事本,你认为记事本会打开吗?