Linux 시스템에서 프로세스 실행 유지

Linux 시스템에서 프로세스 실행 유지

저는 회사를 위한 서버 프로그램을 작성했고 이제 이를 우분투 서버에서 계속 실행하고 싶습니다.

일주일에 한 번 전체 시스템을 다시 시작하도록 cronjob을 설정하려고 생각하고 있었지만(보안 목적으로 아직 발견하지 못한 메모리 누수에 대비하여 RAM을 지우기 위해.. 등..) 어떻게 해야 할지 잘 모르겠습니다. 프로세스를 계속 유지하세요.

지금 내가 하고 있는 일은

screen
./launch_server

그리고 그것을 분리합니다. 이것이 서버에서 웹에 노출된 프로그램을 실행하는 좋은 방법입니까? 어떤 이유로든 daemontools나 runit과 같은 것이 필요합니까?

답변1

귀하의 질문은 실제로 두 가지 질문의 조합입니다.

  1. 부팅 시 프로그램을 어떻게 실행하나요?

사용갑자기 나타나다또는체계화된( 의 스크립트 /etc/init.d), 버전에 따라 다릅니다.

  1. 계속 실행하려면 어떻게 해야 하나요?

가장 간단한 접근 방식은 프로세스 이름이 실행 중인지 확인하고, 그렇지 않으면 다시 시작하는 cron 작업을 추가하는 것입니다. 시스템에서 반복적으로 시스템을 종료시키는 일이 발생하는 경우 이를 알 수 있도록 이러한 사실을 발견하면 이메일을 보내 이를 보완할 것입니다. 또한 아직 프로그램이 없는 경우 타임스탬프가 지정된 로깅을 프로그램에 추가하여 이러한 이벤트가 발생하는 시점을 기록할 수 있습니다.

가능하다면 죽게 만든 신호나 조건도 기록하여 이를 방지해야 합니다. 자동화된 이메일에 프로그램 로그를 추가하는 것을 고려할 수도 있습니다.

관련 정보