유닉스 프로세스를 감독하기위한 Daemontools (djbtools)의 대안? ( DJB Way )이

내가 사용했던 데몬 툴즈를 내 서버에서 유닉스 서비스를 감독하는 간단하고 신뢰할 수있는 방법을 제공합니다. 잘 작동하지만 다른 사고 방식 ( DJB Way )이 필요하며 일반적인 불만 사항은 다음과 같습니다.

  • TAI64N 기반 타임 스탬프
  • /etc/init.d (또는 (/usr/local)/etc/rc.d)에 스크립트를 저장하지 않습니다
  • apachectl과 같은 스크립트에서 항상 작동하지는 않습니다. 일부 스크립트는 다시 작성해야합니다.

비슷한 “감독자 / 감독”데몬이 약 2 년 전에 작업에 있었지만 일부는 여전히 가장자리에서 약간 거칠 었다는 것을 기억합니다.

데몬 도구에서 다른 것으로 바꾸었다면 무엇을 선택하고 잘 작동 했습니까? RedHat 또는 Ubuntu에는 기본적으로 프로세스 관리자 유틸리티가 제공됩니까?



답변

Hrm, Ubuntu를 사용하는 경우 새로운 init 프로세스 인 upstart 에는 프로세스 감독 수준이 포함됩니다. 표준 서비스 시작 및 중지, la SysV init 스크립트에 사용할 수 있으며 실행중인 응용 프로그램을 모니터링하고 응용 프로그램이 죽으면 다시 생성 할 수도 있습니다.

필요에 따라 inittab을 통해 빈약 한 프로세스 재시작을 구현할 수도 있습니다.

주로 프로세스를 주시하고 항상 실행 중인지 확인한 다음 그렇지 않은 경우 다시 시작하려는 경우, restarted 와 함께 큰 행운을 얻었습니다 . 불행히도, 내가 아는 유일한 소스는 데비안 패키지입니다. 그러나 매우 작고 간단한 응용 프로그램이며 기본적으로 make 파일이있는 단일 .c 및 .h 파일입니다. Red Hat의 데비안 소스 타르볼에서 컴파일하는 것은 쉽지 않습니다 (이전 작업에서 RPM을 만들었습니다).

내가 들었지만 사용하지 않은 마지막 옵션은 Supervisor 입니다. 그것은 유망한 도구처럼 보이지만 다시 시작했지만 과거에는 내가 필요로하는 것에 대해 충분히 효과가 있었지만 아직은 그 도구를 가지고 놀지 않았습니다.


답변

런아웃 +1 기존의 daemontools 인수 및 옵션과 호환되는 daemontools보다 많은 기능과 유연성. 꽤 깔끔한.

그러나 언급 한 바와 같이 많은 도구에는 자체 제어 바이너리, apache2ctl, ejabberdctl, poundctl, collectd 등이 포함되어 있습니다. 해킹이 있지만 때로는 가장 깨끗하지 않은 경우 제공된 도구를 사용하는 것이 더 좋습니다. 가능한 구현. 나는 보통 타협을하고 대부분의 서비스는 runit의 감독하에 운영된다. 그리고 다른 사람들은 사소한 방법으로 실행할 수 있습니다.


답변

음, runit이 있습니다. daemontools와의 차이점과 유사점이 무엇인지 말할 수는 없지만 Berstein-esque 웹 사이트에서 판단 할 때 명확한 Bernstein 영향이 있다고 말할 것입니다.


답변

Fedora는 systemd로 전환 할 준비가 된 것 같습니다 : http://0pointer.de/blog/projects/systemd.html


답변

이미 언급 한 daemonize및 의 대안으로 libslack 패키지 daemontools데몬 명령이 있습니다.

daemon 꽤 구성 가능하며 자동 재시작, 로깅 또는 pidfile 처리와 같은 모든 지루한 데몬을 관리합니다.


답변


답변

C로 작성되었으며 다양한 (Unix) 플랫폼에서 사용 가능한 libslack의 데몬 도구 도 있습니다.

그것은 꽤 구성 가능하며 자동 재시작, 로깅 또는 pidfile 처리와 같은 모든 지루한 데몬을 처리합니다.