Reiniciar o httpd mata scripts executados a partir do PHP

2

Meu servidor de jogos tem uma interface de administração PHP personalizada, que pode executar o servidor manualmente executando o script shell inicial com exec e sudo -E . No entanto, se eu reiniciar o httpd usando service httpd restart , o script e o servidor do jogo também serão mortos. Como posso alterar esse comportamento para que apenas o servidor web seja eliminado ou executar o servidor do jogo de outra maneira?

    
por IllidanS4 16.01.2016 / 11:30

2 respostas

1

Eu costumava resolver exatamente esse problema para os servidores do meu jogo, escrevendo um daemon perl que possuía e controlava servidores de jogos, e respondia a um serviço da web para o mundo externo. Simplificando, mas eficaz.

    
por 16.01.2016 / 14:45
1

Quando você acessa a página da Web (script PHP), o conteúdo é enviado por uma instância (subprocesso) do processo do servidor httpd. Quando você reinicia o servidor httpd, o script está informando o servidor para morrer, o que matará todos os subprocessos também, incluindo a instância do PHP que está executando o próprio script. Basicamente, o script está efetivamente cometendo suicídio.

Tente usar "apachectl -k graceful" , que reinicia o servidor normalmente, o que significa que apenas o processo do servidor será reiniciado, mas as sessões atuais poderão ser concluídas. Seu roteiro não deveria morrer.

    
por 16.01.2016 / 13:28