Bash 玻璃鱼死了,不再重新开始
我们的一个应用服务器(Glassfish v3.0.1)无缘无故地不断崩溃。有时,我离开了互联网,所以我无法再次运行它。因此,我编写了一个简单的bash脚本,等待10分钟,然后运行asadmin。就像:Bash 玻璃鱼死了,不再重新开始,bash,ubuntu,glassfish,Bash,Ubuntu,Glassfish,我们的一个应用服务器(Glassfish v3.0.1)无缘无故地不断崩溃。有时,我离开了互联网,所以我无法再次运行它。因此,我编写了一个简单的bash脚本,等待10分钟,然后运行asadmin。就像: #!/bin/bash while true; do sleep 600; sudo /home/ismetb/glassfishv3.0.1/glassfish/bin/asadmin start-domain; done 这似乎很好,但我有几个问题: 如果我终止bash脚本(通过按ct
#!/bin/bash
while true;
do sleep 600;
sudo /home/ismetb/glassfishv3.0.1/glassfish/bin/asadmin start-domain;
done
这似乎很好,但我有几个问题:
start-domain
和stop-domain
命令根本不起作用。这意味着,我既不能阻止玻璃鱼,也不能接近它。我不知道以前是否有人遇到过这个问题。如果进程死亡,我唯一能做的就是查找Java进程的ID并从终端终止它。这一点都不可取。知道我退出脚本时Java进程为什么会死掉吗start domain
命令将成功运行。关于如何做到这一点,有什么想法或指导吗李>
你可以用工作来代替。要为root用户安装cron作业,请输入
sudo crontab -e
再加上这一行
*/10 * * * * /home/ismetb/glassfishv3.0.1/glassfish/bin/asadmin start-domain
这将每隔十分钟运行一次asadmin
如果您对命令行不熟悉,您也可以尝试gnome schedule
,但我没有这方面的经验
对于第二个问题,可以使用
curl
或wget
访问glassfish。您可以尝试获取一些URL,甚至访问管理界面,如果没有得到响应,则假定glassfish已关闭。Ctrl+Z不应终止脚本,只需挂起它即可。您通常可以使用fg
(前台命令)再次将此程序带到for。太棒了!ctrl+z就是这种情况,我将避免使用它。但是,当我通过asadmin运行服务器时(当我不使用bash脚本时),服务器有时仍然会死机,并且不会响应start或stop命令。虽然这种情况很少见,但还是会发生。所以#2对我来说仍然是个问题,奥拉夫先生。我使用了crontab-e
命令并添加了您提供的行。@iso_9001;很高兴看到,您自己解决了这个问题。我更新了我的答案,以防万一。