다른 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를 사용하고 있습니다.