Por que precisamos usar o exec no script upstart?

3

Muitas vezes, vejo algum script upstart tem o para usar exec , qual é o ponto? Parece remover o exec o script também funciona?

por exemplo.

start on runlevel [2345]
stop on runlevel [06]

exec /path/to/program
    
por Ryan 26.03.2013 / 15:02

2 respostas

2

Se você remover exec , o script de inicialização continuará em execução, aguardando até que o utilitário iniciado seja encerrado. Por exemplo. ineficiente e desperdiça RAM extra e outros recursos (a menos que você queira monitorar algum tipo de terminação anormal e reinicie o utilitário novamente)

Com exec , em vez de aguardar o término do utilitário iniciado, o utilitário é iniciado no lugar de um script existente.

    
por 26.03.2013 / 18:00
1

Há um shell lendo esse script:

/path/to/program : terá o programa de inicialização do shell como um subcomando

exec /path/to/program : irá substituir o shell pelo 'programa' (salvando um pid e outras vantagens. E está tudo bem: você não precisa mais do próprio shell nesse ponto, já que não há mais coisas para esse shell fazer )

    
por 26.03.2013 / 16:23