Gerenciamento de processos - adiciona o processo daemon da CLI

0

Estou procurando o gerenciador de processos que pode ser controlado a partir do CLI (adicionar, iniciar, parar, excluir), para que eu possa controlá-lo programaticamente.

Eu tentei usar o link , mas o problema é quando eu o adiciono do CLI, os processos desaparecem depois reinicialização do servidor. Eu abri uma questão lá; link . Eu não tentei Supervisord ainda, mas parece que tem o mesmo problema, link .

Existe algum gerenciador de processos que possa adicionar o processo daemon a partir da CLI, e as alterações são persistentes após a reinicialização, sem tocar no arquivo de configuração? Obrigado.

Estou no Centos 7, quero daemonizar um script PHP CLI para cada usuário registrado.

Desculpe, não sei como explicar isso melhor. Eu tenho um script PHP CLI que tem loop infinito. O script está sendo executado para ouvir a nova mensagem recebida. O script deve ser iniciado em um novo usuário registrado, por exemplo, php listen.php --user_id=111 e interrompido ao excluir o usuário.

    
por sulaiman sudirman 03.11.2015 / 11:08

1 resposta

0

O pacote que eu recomendo para isso é chamado daemontools por Dan Bernstein.

Esta é uma coleção de ferramentas para fornecer supervisão de serviço em todo o sistema e gerenciar serviços. Ele não apenas se importa em iniciar e interromper serviços, mas também supervisiona os daemons de serviço enquanto eles estão em execução. Entre outras coisas, ele fornece uma interface confiável para enviar sinais para daemons de serviço sem a necessidade de arquivos pid e um recurso de log com rotação automática de arquivos de log e limites de espaço em disco.

Ele satisfaz todos os seus requisitos. É extremamente confiável, uma vez que você o configura e entende como usá-lo, requer pouca manutenção. Se houver algum problema no seu sistema, não serão daemontools.

  1. Todo o controle é via linha de comando.
  2. Os daemons serão reiniciados no reinício do sistema.
  3. Os daemons podem ser parados, iniciados, parados, suspensos do CLI.
  4. Além disso, lida com o registro de cada daemon também.
  5. Ele gerencia reinicializações rápidas (quando um programa morre rapidamente).

Este pacote e design subjacente são sólidos. O código-fonte não mudou em anos, mas não deixe que isso te engane. Não precisou mudar porque está correto.

Eu pessoalmente usei este pacote para controlar com segurança centenas de processos daemon em uma máquina por vez.

A configuração de um novo cliente é fácil, basta colocar um arquivo de controle no diretório especificado e ele será automaticamente iniciado e reiniciado para sempre, a menos que você intervenha. Uma vez que você sabe como deve ser o arquivo, você cria um modelo ou uma maneira de parametrizar a criação do arquivo de controle.

Eu acho que sua melhor aposta é pegar o pacote fonte do RPM do kteru no github e construir seu próprio RPM a partir dele. É fácil de criar, mas o RPM facilita o gerenciamento e a replicação do sistema.

A página inicial e a documentação estão localizadas no link

O pacote fonte do CentOS 4-7 RPM está disponível no github: link

Há também um pacote chamado runit que acho que é uma ramificação de daemontools sem algumas das restrições de licenciamento e distribuição de daemontools e uma política de layout de diretório mais flexível. Está nos repositórios do Debian, eu não sei sobre o CentOS.

    
por 04.11.2015 / 12:02