![rc.local에 의해 시작된 모니터링 스크립트](https://linux55.com/image/31178/rc.local%EC%97%90%20%EC%9D%98%ED%95%B4%20%EC%8B%9C%EC%9E%91%EB%90%9C%20%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8.png)
´ 를 사용하여 C 프로그램을 시작했습니다 rc.local
. 다음과 같은 줄을 추가했습니다.
/usr/local/bin/pc
파일 로 rc.local
. pc
컴파일된 C 프로그램입니다. 지금은 모든 것이 잘 작동하고 있습니다. 우리가 두려워하는 것은 pc
붕괴이다. 그렇다면 프로그램을 모니터링하고 자동으로 다시 시작할 수 있는 방법이 있습니까?
답변1
그것을 사용하고 있다면 rc.local
아마도 일부 sysV init도 사용하고 있습니까? 라인을 추가할 수 있습니다.
pc:2345:respawn:/usr/local/bin/pc
도착하다 /etc/inittab
. 이 줄은 프로그램이 실행 수준 2, 3, 4, 5에서 시작하고 종료 시(예: 충돌) 자동으로 다시 시작됨을 나타냅니다.
답변2
rc.local
user1129682 님께서 제안하신대로 활용하시면 좋을 것 같습니다. 프로그램이 (다시) 시작되는지 확인하는 빠르고 더러운 방법을 원한다면 시작 시 이메일을 보내도록 프로그램을 변경할 수 있습니다. 이렇게 하려면 패키지 를 설치 mailutils
하고 C 프로그램이 다음과 같이 시작되도록 하세요.
#include <stdlib.h>
int
main(int argc, char *argv[])
{
system("echo | mail -s \"pc started\" [email protected]");
return orginal_main(argc, argv);
}
pc
이는 실행 중인 컴퓨터에 정상적인 이메일 전달 기능이 있다고 가정합니다.