Eu não posso ter certeza, mas o inspircd pode estar se formando quando for rodado, então o Upstart não sabe onde o PID realmente é. Se for esse o caso, ele pode ser corrigido porque o Upstart tem duas estrofes para lidar com processos de bifurcação:
-
expect fork
captura os processos que foram de uma vez (provavelmente, o caso aqui). -
expect daemon
pega coisas que desembolsam duas vezes ... O que isso pode estar fazendo.
Então tente isto:
description "IRC Daemon Upstart Script"
start on startup
start on runlevel [2345]
stop on runlevel [016]
respawn
expect fork
nice -5
exec su bash -c "cd /home/ircuser/inspircd/run; /home/ircuser/inspircd/run/bin/inspircd -- --config=./conf/inspircd.conf" ircuser
E, se isso não funcionar, verifique minha su
-exemissão para ter certeza de que funciona na linha de comando e, em seguida, altere expect fork
para expect daemon
e dê outro giro.
Editar o wrapper bash
pode estar fazendo mais mal do que bem. Isso pode ser um melhor exec:
exec sudo -u ircuser /home/ircuser/inspircd/run/bin/inspircd -- --config=/home/ircuser/inspircd/run/conf/inspircd.conf