프로세스 관리 - 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

제가 추천하는 패키지는 daemontoolsDan 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브랜치라고 생각 되는 패키지도 있습니다 . 데비안 리포지토리에 있는데 CentOS에 대해서는 모르겠습니다.daemontoolsdaemontools

관련 정보