私はAmazon Linuxを使用しています。サービスを開始および停止するbashで書かれたスクリプトがあります。
/etc/init.d/wildfly
たとえば、さまざまなランレベルには、スクリプトの起動と停止を保証するシンボリックリンクがあります。
/etc/rc.d/rc3.d/S80wildfly
/etc/rc.d/rc2.d/S80wildfly
しかし、私の質問は、サービスが失敗した場合に自動的に再起動されるようにするにはどうすればよいですか? CentOSでディレクティブを使用してファイル(例: "wildfly.service")を生成できることを読んでいます。
Restart=always
RestartSec=3
Amazon Linux で対応するガイドラインはどこにありますか?
ベストアンサー1
Amazon Linux 2
Amazon Linux バージョンが 2.0 以降の場合、デフォルトでは systemd があります。この場合、CentOSで使用されているのと同じ単位ファイルと再起動手順を使用できる必要があります。
Amazon Linux AMI
Amazon Linux AMIを実行している場合は、別々のハイパーバイザーを使用してプロセスを監視するか(poigeで説明されているように)、/ etc / inittabを使用する必要があります。
たとえば、sysvinitにプロセスを自動的に再起動させるには、/ etc / inittabに次のように追加します。
# Start and respawn process
mydaemon:2345:respawn:/path/to/executable argument1 argument2
これはsysvinitに実行レベル2、3、4、5でプロセスを開始し、終了時に再起動するように指示します。
また、起動時に実行される実行可能ファイルの周りにいくつかのコマンドを追加したい場合は、実行可能ファイルパスは、フォアグラウンドでプログラムを実行するスクリプトを参照できます。