他の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を使用しています。