Eu tive um problema em que criar um script inicial chamaria o script várias vezes, fazendo com que meu IRCd aparecesse cerca de 8 vezes. Para corrigir isso, usei start-stop-daemon:
description "IRC Daemon Upstart Script"
start on startup
start on runlevel [2345]
stop on runlevel [016]
respawn
nice -5
exec start-stop-daemon --start --chuid ircuser --chdir /home/ircuser/inspircd/run --exec /home/ircuser/inspircd/run/bin/inspircd -- --config=/home/ircuser/inspircd/run/conf/inspircd.conf
Isso funciona exatamente como eu quero, exceto que:
stop ircd
diz que o interrompe, mas o inspircd ainda está sendo executado depois.
Existe uma maneira melhor do que usar o start-stop-daemon que impedirá o script de abrir 8 instâncias ou existe alguma maneira de torná-lo compatível com o start-stop-daemon?
expect fork
corrigiu o problema. No entanto, ainda não consigo chamar 'stop ircd' e o script é interrompido. No entanto, vou gerenciar sem ele (aux ps, kill), mas se você pode alterar sua resposta para incluir uma maneira de fazer isso, eu vou ser um usuário muito feliz Ubuntu;)sudo start ircd
, deve gerar um PID. Se você colocar isso no final deps
(por exemplops u -p <PID>
:), isso mostra um processo que faz sentido? Se ele não está ainda perder o controle do PID de modo que você pode querer tentarexpect daemon
ps aux
,kill <pid>
funciona bem, eu estava mais preocupado em fazer o script de inicialização na inicialização, o que ele faz. Obrigado!