죽어가는 데몬/서비스(milter-regex)가 있습니다. 일시적으로(몇달)만 사용하고 있으니 너무 심각하게 받아들이지 마시고, 멈춘 후에 다시 시작했으면 좋겠습니다.
이것은 init.d 스크립트입니다. 'service milter-regex start' 등 초기화 스크립트는 /etc/init.d/milter-regex에 있습니다.
/etc/inittab에 뭔가가 있는지 알고 있는데, 그것이 죽으면 자동으로 다시 생성됩니다. init 스크립트도 이 작업을 수행해야 합니까, 아니면 inittab에 넣어야 합니까?
오늘 고칠 오래된 양말 파일을 정리하지 않았기 때문에 재부팅되지 않을 수도 있지만 어쨌든 질문을 해봐야겠다고 생각했습니다.
RHEL4에서 실행(예, 이전 버전)
고마워요, 브록
답변1
RHEL6에서도 매우 비슷한 문제를 해결해야 했습니다. (또한 하나의 명령이 아니라 일련의 명령이 있습니다.) 스크립트를 계속 사용하고 싶었기 때문에 /etc/init.d
작은 도구를 작성했습니다.pipexec
: 이는 하위 프로세스가 종료되면 다시 시작하며 /etc/init.d
예를 들어 pid 파일 처리도 지원하므로 스크립트에 쉽게 통합될 수 있습니다.
예:
$ pipexec -p /var/run/whatsoever.pid -s 5 -- /opt/bin/whatsoever
pid 파일을 생성하고 를 실행하세요 /opt/bin/whatsoever
. whatsoever
비정상적으로 종료되면(예: 신호를 통해) pipexec
5초 동안 기다렸다가 다시 시작하세요.
감사합니다 - 안드레아스
답변2
init.d의 스크립트는 서비스가 충돌할 때 자동으로 다시 실행되지 않습니다. 실행을 보장하기 위해 최소한의 작업을 수행하려면 inittab이 아마도 최선의 선택일 것입니다. 하지만 여전히 RHEL 4를 실행하는 것만큼이나 역겹습니다.