自動的にプロセスを開始し、エラーが発生した場合にのみ再生成します。

自動的にプロセスを開始し、エラーが発生した場合にのみ再生成します。

他のprocess_Bが終了した後(システムでいくつかの更新を実行し、process_Aを終了する必要があります)、process_A(起動時)を自動的に開始し、process_Aがクラッシュするか、エラーで完了したら再起動します。

次のようなbashスクリプトを使用しようとしています。

#!/bin/bash

# Launch updater on start
process_B

# Launch process_A
until process_A
do
    # Restart in case of error/crash
    echo "process_A stopped with exit code $?.  Respawning.." >&2;
    sleep 2;
done

# Shutdown system
shutdown -hP now

私が経験している問題は、起動時にこのスクリプトを正しく起動する方法です。このように自動起動を使用すると、

$HOME/.conf/autostart/script_launcher.desktop

その後、まだ開始されていない必須サービスがあるため、process_Aは失敗します。このスクリプトを手動で起動すると、エラーなしで実行されます。

init.dサービスは起動時にprocess_Aを起動し、自動的に再生成することを考えていますが、起動時にのみprocess_Bを実行する必要があります。

私はDebian Wheezyを使用しています。

関連情報