分离tomcat启动的bash脚本

时间:2018-05-15 22:32:06

标签: bash

我已经为我的linux服务器实现了一个仪表板servlet。我想在此仪表板中添加“重新启动主服务”选项。基本上,仪表板只使用java中的ProcessBuilder对象运行bash脚本。 我的主要服务只是tomcat和postgresql。当我想重启postgresql时,我也要重启tomcat,因为如果不这样做,现有的数据库连接就会中止,即使重新启动postgresql,tomcat也无法访问我的数据库。

因此我使用简单的脚本来停止服务:

main_services_restart.sh:

#!/bin/bash
sudo service tomcat stop
sudo service postgresql stop
sudo service postgresql start
sudo service tomcat start

如果我手动运行,一切进展顺利。但是因为我从tomcat仪表板运行它,当它调用脚本时,脚本将停止tomcat服务,因此脚本本身也会停止,因此tomcat不会重新启动。

我尝试创建不同的脚本来分离主脚本,如下所示:

sudo -b nohup /home/me/scripts/main_services_restart.sh

甚至:

sudo /home/me/scripts/main_services_restart.sh & disown

但这不是从tomcat中分离脚本。如何从tomcat的ProcessBuilder中完全分离脚本?

0 个答案:

没有答案