
Gostaria de iniciar um processo em segundo plano como root quando minha instalação do Linux for inicializada. Posso simplesmente adicioná-lo a um diretório ou arquivo de configuração?
Responder1
Basicamente você tem duas opções:
use um
cron
trabalho com@reboot
especificação de tempo (vejacrontab(1)
a página de manual para detalhes)inicie-o pelo sistema init. Para o estilo de inicialização BSD/SysV, isso significa adicionar um script em algum lugar para ser executado no nível de execução desejado. Para o systemd, isso envolve criar um arquivo de unidade e solicitá-lo ao destino desejado.
A primeira solução é melhor para coisas locais para uma ou duas máquinas (já que são mais uma questão de configuração); o segundo é adequado para coisas do tipo serviço/daemon que provavelmente serão executadas em mais sistemas - e devem ser empacotadas para facilitar a manutenção.
Responder2
A maneira mais fácil de executar um processo como root no momento da inicialização é iniciá-lo a partir do arquivo /etc/rc.local
. Edite esse arquivo e adicione uma linha como
/path/to/my/daemon &
No entanto, esta não é uma maneira muito boa de iniciar um daemon. Você não tem nenhuma maneira conveniente de controlá-lo (verificar se está em execução, interrompê-lo, reiniciá-lo, etc.).
Existem vários frameworks para controlar daemons. Eles estão vinculados ao seu sistema init: Sysvinit, Upstart, Systemd, cada um tem o seu caminho. Verifique o que está instalado no seu sistema (varia entre as variantes Unix e, para Linux, varia de acordo com a distribuição e a escolha do administrador).