Devo executar explicitamente programas em primeiro plano (como um daemon), ou 'esperar fork' ao configurar daemons upstart?

4

Muitos programas permitem que sejam executados no modo daemon (que geralmente é o padrão) ou executados explicitamente em primeiro plano com um sinalizador como -f .

Agora, ao configurar o upstart para executar programas como este, eu posso fazer

exec foo -f # run in foreground

ou

expect fork
exec foo # automatically runs as a daemon

Existe algum motivo para escolher um sobre o outro? Parece que é mais fácil executar tudo em primeiro plano e deixar o início lidar com os processos, mas existe uma desvantagem nisso?

    
por Jakub Arnold 22.06.2015 / 18:22

1 resposta

0

Eu prefiro strongmente executar as coisas em primeiro plano; evita qualquer complicação que possa surgir do processo de daemonização (como, por exemplo, a perda de controle do processo demônico de longa execução). A única exceção a isso é uma pequena minoria de programas de daemonising que têm o hábito desagradável de interpretar "por favor, execute em primeiro plano" como "por favor, execute em algum tipo de modo de depuração com baixo desempenho" e fazer algo bobo como executar apenas um thread ou não gerem trabalhadores infantis ou algo assim.

    
por 16.08.2015 / 07:56