Como o PhantomJS não oferece nenhum suporte para executar daemons fora da caixa , você deve cuide do seu serviço sozinho. É ótimo que você tenha encontrado /etc/init.d/skeleton
e usado para criar um script de inicialização. O que você descreve mostra que seu processo não está entrando em segundo plano e isso pode ser corrigido por meio de algum wrapper. Isso pode ser start-stop-daemon
, que é específico para distribuições baseadas no Debian, ou um pacote daemon
separado que pode redirecionar stdin / stdout e lidar com situações adicionais.
Como tenho quase certeza de que você usa a maneira tradicional de escrever scripts de init, eu suspeito que você possa apenas adicionar --background
ao seu comando start-stop-daemon.
Quando você terminar de corrigir seu script, verifique se ele pertence a root:root
com permissões 0755 (por exemplo, rwxr-xr-x
). Depois disso, atualize os links simbólicos sysvinit com o comando update-rc.d
fornecido por Michael Hampton em sua resposta.
Assim como uma nota, existem algumas outras ferramentas que suportam o processo de envio para segundo plano e podem ser úteis em outros casos. Por exemplo, supervisor , upstart e systemd suportam isso. Por favor, consulte a documentação para obter a sintaxe exata. Se você for usar um desses, não é necessário escrever script de inicialização completo.
Claro, scripts init são a maneira mais antiga e mais suportada de iniciar daemons.