프로세스 관리 - CLI에서 데몬 프로세스 추가

프로세스 관리 - CLI에서 데몬 프로세스 추가

프로그래밍 방식으로 제어할 수 있도록 CLI(추가, 시작, 중지, 삭제)에서 제어할 수 있는 프로세스 관리자를 찾고 있습니다.

나는 사용해 보았습니다.https://github.com/circus-tent/circus, 그런데 문제는 CLI에서 추가하면 서버를 다시 시작한 후 프로세스가 사라진다는 것입니다. 나는 거기에 질문을 열었습니다.https://github.com/circus-tent/circus/issues/937. 아직 Supervisord를 사용해보지 않았지만 동일한 문제가 있는 것 같습니다.https://github.com/mnaberez/supervisor_twiddler/issues/4.

CLI에서 데몬을 추가하고 구성 파일을 건드리지 않고도 재부팅 후에도 변경 사항이 유지되도록 할 수 있는 프로세스 관리자가 있습니까? 감사해요.

저는 Centos 7을 사용하고 있으며 등록된 각 사용자에 대해 PHP CLI 스크립트를 데몬화하고 싶습니다.

죄송합니다. 이 내용을 어떻게 더 잘 설명해야 할지 모르겠습니다. 무한 루프가 있는 PHP CLI 스크립트가 있습니다. 새로 들어오는 메시지를 수신하기 위해 스크립트가 실행 중입니다. 스크립트는 새로 등록된 사용자(예:)에서 시작되어야 하며 php listen.php --user_id=111사용자가 삭제되면 중지되어야 합니다.

답변1

제가 추천하는 패키지 daemontools는 Dan Bernstein입니다.

이는 시스템 전체의 서비스 감독 및 관리 서비스를 제공하는 도구 모음입니다. 서비스 시작 및 중지에 관심을 가질 뿐만 아니라 서비스 데몬의 실행도 모니터링합니다. 무엇보다도 PID 파일 없이 서비스 데몬에 신호를 보내는 안정적인 인터페이스는 물론 자동 로그 파일 회전 및 디스크 공간 제한이 있는 로깅 기능을 제공합니다.

귀하의 모든 요구 사항을 충족합니다. 매우 안정적이며 일단 설정하고 사용 방법을 알고 나면 유지 관리가 거의 필요하지 않습니다. 시스템에 문제가 있는 경우 daemontools의 문제가 아닙니다.

  1. 모든 제어는 명령줄을 통해 이루어집니다.
  2. 시스템이 재부팅되면 데몬이 다시 시작됩니다.
  3. 데몬은 CLI에서 중지, 시작, 정지 및 일시중단될 수 있습니다.
  4. 또한 데몬별 로깅이 처리됩니다.
  5. 빠른 재시작(프로그램이 빠르게 종료되는 경우)을 관리합니다.

이 패키지와 기본 디자인은 견고합니다. 소스 코드는 몇 년 동안 변경되지 않았지만 속지 마십시오. 정확하기 때문에 변경할 필요는 없습니다.

저는 개인적으로 이 패키지를 사용하여 단일 시스템에서 동시에 수백 개의 데몬을 안정적으로 제어했습니다.

새 클라이언트를 구성하는 것은 지정된 디렉터리에 제어 파일을 배치하는 것만큼 간단하며 사용자가 개입하지 않는 한 자동으로 시작되고 다시 시작됩니다. 파일의 모양을 알고 나면 템플릿을 만들거나 파일 생성을 매개변수화하는 방법을 만들 수 있습니다.

가장 좋은 방법은 github의 kteru에서 RPM 소스 패키지를 가져와서 자신만의 RPM을 구축하는 것입니다. 구축하기는 쉽지만 RPM을 사용하면 시스템 관리 및 복제가 더욱 쉬워집니다.

홈페이지와 문서는 다음 위치에 있습니다.http://cr.yp.to/daemontools.html

CentOS 4-7 RPM 소스 패키지는 github에서 사용할 수 있습니다. https://github.com/kteru/daemontools-rpm

라이센스 및 배포 제한이 없고 보다 유연한 디렉토리 레이아웃 전략을 갖춘 runit포크라고 생각되는 패키지도 있습니다 . Debian 저장소에 있는데 이것이 CentOS의 경우인지는 모르겠습니다.daemontoolsdaemontools

관련 정보