프로세스가 종료된 후 자동으로 다시 시작하시겠습니까?

프로세스가 종료된 후 자동으로 다시 시작하시겠습니까?

라즈베리 파이에서 실행되는 프로세스가 있습니다. SSH를 입력한 후 프로세스는 다음과 같이 시작됩니다.

nohup .../blah/blah &

IIUC를 사용하면 pi에서 로그아웃하고 프로세스가 계속 실행됩니다. 하지만 가끔 죽기 때문에 수동으로 로그인하고 다시 시작해야 합니다. 모니터링하고 자체적으로 재부팅할 수 있는 방법이 있습니까?

답변1

무한 루프로 실행합니다.

#!/bin/sh

while true; do
    .../blah/blah
done

nohup이는 백그라운드에서 실행하는 스크립트가 됩니다. 죽으면 blah스크립트가 죽을 때까지 즉시 다시 시작됩니다.

stopme호출된 파일이 스크립트의 작업 디렉터리에 있는 경우 루프를 종료하는 변형입니다( (re)start 이전에만 확인 blah):

#!/bin/sh

while true; do
    [ -e stopme ] && break
    .../blah/blah
done

관련 정보