如何从java执行shell脚本,tomcat将重新启动并继续运行
我有一个在tomcat上运行的java应用程序。我有一个shell脚本,它执行tomcat重启,然后执行其他unix命令。因此,从我的应用程序(java代码)来看,当我运行这个shell scrit时,一旦tomcat重新启动,它就会退出shell脚本,并且在tomcat重新启动后不会运行unix命令 我知道,当我们从java运行shell脚本时,它由tomcat作为父进程运行,当tomcat重新启动时,它将终止父进程,因此tomcat重新启动后的命令不会执行如何从java执行shell脚本,tomcat将重新启动并继续运行,java,linux,unix,tomcat,Java,Linux,Unix,Tomcat,我有一个在tomcat上运行的java应用程序。我有一个shell脚本,它执行tomcat重启,然后执行其他unix命令。因此,从我的应用程序(java代码)来看,当我运行这个shell scrit时,一旦tomcat重新启动,它就会退出shell脚本,并且在tomcat重新启动后不会运行unix命令 我知道,当我们从java运行shell脚本时,它由tomcat作为父进程运行,当tomcat重新启动时,它将终止父进程,因此tomcat重新启动后的命令不会执行 有没有办法在tomcat重新启动后
有没有办法在tomcat重新启动后运行shell脚本。。。我试着使用不同的选项,比如nohup、/bin/sh-c,但都不起作用。。。一旦tomcat重新启动,脚本就会死掉。我认为没有办法让线程保持活动状态,因为JVM已经重新启动。但是,可以将启动时加载的servlet设置为
1
(或其他非零值)。当Tomcat启动时,将执行init()
函数。你可以把剩下的命令放在那里。当然,无论Tomcat如何重新启动,它都会运行
更多关于启动时加载的信息:您可能需要从其他东西运行它,而不是重新启动的tomcat。想想看,如果你命令你的电脑关机,然后打开记事本,你认为记事本会打开吗?