如何在AIX中将jar文件作为服务运行,如果崩溃将自动重启?

时间:2019-06-29 06:46:58

标签: java service aix

我有几个jar文件,它们想作为AIX上的服务运行。如果该服务崩溃/结束,则必须自动重新启动。我该如何实现?

我有一个像这样的shell脚本

(
    until java -jar Test.jar; do
        echo "Test Service crashed with exit code $?.  Respawning... " >&2
        sleep 5
    done
) 

这可行,但是我想知道是否有更好的方法可以做到这一点?如果计算机由于某种原因重新启动,则必须手动运行脚本。我不是Linux或AIX的专家。

1 个答案:

答案 0 :(得分:0)

您可以在this page中查看有关AIX中自动启动/重新启动服务/守护程序的信息

  

inittab条目

     

让我们看一下运行脚本的inittab条目。假设我们想要   运行脚本以将电子邮件发送给系统管理员,说明   系统启动时该框可用。

     

inittab的条目如下所示:

     

mailout:2:once:/usr/local/bin/mailout > / dev/null 2>&1 #mail users

     

以上条目可以总结如下:

mailout: The unique identifier
     

2:当系统达到运行级别2(默认值)时运行此命令       一次:运行脚本,不要等待脚本终止; init将继续处理inittab。如果该过程失败,则初始化不会   尝试重新运行它。       / usr / local / bin / mailout:要运行的命令的完整路径和脚本名称;请注意,输出被丢弃到/ dev / dull。我们   最后以“#”注释说明脚本的功能。

     

出于完整性考虑,以下是相关脚本:

!/bin/sh                                                    
#mailout                                                    
/usr/sbin/sendmail ‑t <<mayday                              
From: hostname                                              
To: rs6admins                                               
Subject: hostname P‑Series is up                            
The AIX hostname is now up, please check services.          
.                                                           
mayday