Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从java执行shell脚本,tomcat将重新启动并继续运行_Java_Linux_Unix_Tomcat - Fatal编程技术网

如何从java执行shell脚本,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上运行的java应用程序。我有一个shell脚本,它执行tomcat重启,然后执行其他unix命令。因此,从我的应用程序(java代码)来看,当我运行这个shell scrit时,一旦tomcat重新启动,它就会退出shell脚本,并且在tomcat重新启动后不会运行unix命令

我知道,当我们从java运行shell脚本时,它由tomcat作为父进程运行,当tomcat重新启动时,它将终止父进程,因此tomcat重新启动后的命令不会执行


有没有办法在tomcat重新启动后运行shell脚本。。。我试着使用不同的选项,比如nohup、/bin/sh-c,但都不起作用。。。一旦tomcat重新启动,脚本就会死掉。

我认为没有办法让线程保持活动状态,因为JVM已经重新启动。但是,可以将启动时加载的servlet设置为
1
(或其他非零值)。当Tomcat启动时,将执行
init()
函数。你可以把剩下的命令放在那里。当然,无论Tomcat如何重新启动,它都会运行


更多关于启动时加载的信息:

您可能需要从其他东西运行它,而不是重新启动的tomcat。想想看,如果你命令你的电脑关机,然后打开记事本,你认为记事本会打开吗?