1

組み込みシステムのバックグラウンドで永久に実行する 3 つの jar ファイルがあります。私は実際にjamvm -jar program.jar &sshセッションでこれを行っています。しかし、jar ファイルはバックグラウンドで 1 日実行すると終了し、予期しない動作をします。Linuxの投稿では、 SSH クライアント を閉じた後にバックグラウンド プロセスが停止しないようにすることをお勧めしますnohup command > /dev/null 2>&1 &が、私も同じ動作をしています。jar ファイルをバックグラウンドで永久に安全に実行するにはどうすればよいですか? jar ファイルが終了して再起動するかどうかを確認するにはどうすればよいですか?

4

1 に答える 1

0

UpstartSupervisor、およびsystemdは、プロセスを実行し、失敗した場合は再起動します。利用可能なものは、Linux ディストリビューションとその年齢によって異なります。おそらく他にも同様のサービスがあるでしょう。

systemd のドキュメントから:

再起動=

サービス プロセスが終了したとき、強制終了されたとき、またはタイムアウトに達したときに、サービスを再起動するかどうかを構成します。サービス プロセスは、メインのサービス プロセスである場合もありますが、ExecStartPre=、ExecStartPost=、ExecStop=、ExecStopPost=、または ExecReload= で指定されたプロセスの 1 つであることもあります。プロセスの終了が systemd 操作 (サービスの停止または再起動など) の結果である場合、サービスは再起動されません。タイムアウトには、ウォッチドッグの「keep-alive ping」の期限切れや、サービスの開始、リロード、および停止操作のタイムアウトが含まれます。

于 2016-07-14T18:42:13.343 に答える