
저는 회사를 위한 서버 프로그램을 작성했고 이제 이를 우분투 서버에서 계속 실행하고 싶습니다.
일주일에 한 번 전체 시스템을 다시 시작하도록 cronjob을 설정하려고 생각하고 있었지만(보안 목적으로 아직 발견하지 못한 메모리 누수에 대비하여 RAM을 지우기 위해.. 등..) 어떻게 해야 할지 잘 모르겠습니다. 프로세스를 계속 유지하세요.
지금 내가 하고 있는 일은
screen
./launch_server
그리고 그것을 분리합니다. 이것이 서버에서 웹에 노출된 프로그램을 실행하는 좋은 방법입니까? 어떤 이유로든 daemontools나 runit과 같은 것이 필요합니까?
답변1
귀하의 질문은 실제로 두 가지 질문의 조합입니다.
- 부팅 시 프로그램을 어떻게 실행하나요?
사용갑자기 나타나다또는체계화된( 의 스크립트 /etc/init.d
), 버전에 따라 다릅니다.
- 계속 실행하려면 어떻게 해야 하나요?
가장 간단한 접근 방식은 프로세스 이름이 실행 중인지 확인하고, 그렇지 않으면 다시 시작하는 cron 작업을 추가하는 것입니다. 시스템에서 반복적으로 시스템을 종료시키는 일이 발생하는 경우 이를 알 수 있도록 이러한 사실을 발견하면 이메일을 보내 이를 보완할 것입니다. 또한 아직 프로그램이 없는 경우 타임스탬프가 지정된 로깅을 프로그램에 추가하여 이러한 이벤트가 발생하는 시점을 기록할 수 있습니다.
가능하다면 죽게 만든 신호나 조건도 기록하여 이를 방지해야 합니다. 자동화된 이메일에 프로그램 로그를 추가하는 것을 고려할 수도 있습니다.