자동으로 프로세스를 시작하고 오류가 발생한 경우에만 다시 생성합니다.

자동으로 프로세스를 시작하고 오류가 발생한 경우에만 다시 생성합니다.

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

관련 정보