upstart, exec e stderr

1

Estou usando syslog-ng em uma máquina Ubuntu Lucid com o seguinte script upstart :

# syslog-ng - system logging daemon
#

description     "Syslog-ng daemon"

start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]

expect fork
respawn

pre-start script
    test -x /usr/sbin/syslog-ng || { stop; exit 0; }
    mkdir -p -m0755 /var/run/syslog-ng
end script

exec /usr/sbin/syslog-ng -p /var/run/syslog-ng/syslog-ng.pid

Quando o arquivo de configuração syslog-ng estiver errado, syslog-ng gerará uma mensagem de erro no stderr. Infelizmente, esse erro é detectado pelo upstart e não chega ao console ao iniciar o serviço, portanto, não há como saber por que o serviço começou a falhar.

É normal que o upstart pegue o stderr? Pode ser definido?

    
por ℝaphink 26.08.2010 / 16:44

2 respostas

4

Isso está documentado em init(5) ; você pode adicionar a seguinte linha ao seu /etc/init/syslog-ng.conf para ver a saída:

console output

Como alternativa, você pode ver a saída de todos os scripts upstart ao incluir o seguinte nos parâmetros de inicialização do kernel:

INIT_VERBOSE=yes

Você pode fazer isso temporariamente editando os parâmetros no menu do grub durante a inicialização, ou (mais) permanentemente, editando /etc/default/grub e adicionando-o a GRUB_CMDLINE_LINUX , depois execute update-grub .

Para mais informações e práticas recomendadas, consulte o O Cookbook Upstart .

    
por JanC 26.08.2010 / 23:35
0

Se o stdout estiver passando, o que você pode fazer é. que irá canalizar o stderr para stdout que deve resolver o seu problema. :)

syslog-ng 2>&1
    
por myusuf3 26.08.2010 / 20:24