Eu tenho um número de serviços no init.d que são simples comandos de uma linha envolvidos em um script que se repete a cada poucos segundos. O modelo para eles se parece com isso:
por exemplo,
#!/bin/sh
autostart() {
while true
do
$@ ; sleep 20
done
}
case "$1" in
start)
echo " started"
autostart /path/to/checksomethingquickly
;;
stop)
me='basename $0'
killall checksomethingquickly $me
;;
esac
## End of File
O ponto crucial deste "serviço" é chamar o checksomething rapidamente a cada 20 segundos. (Por isso, é muito rápido para o cron.) Queremos que ele seja iniciado quando for solicitado e interrompa todas as instâncias em execução quando for solicitado a parar.
Parece-me que poderia ser um "Trabalho de Tarefa" no upstart, mas não estou certo de como garantir que a Tarefa seja repetida indefinidamente e separada por 20 segundos. Garantir que seja serializado também seria uma boa melhoria.
Este é o tipo de script que pode ser transformado em um script inicial? Se sim, como?
Tags upstart