[bglug] Ho bisogno di una mano per uno script
Gianantonio Cattozzo
gcattozzo@gmail.com
Mar 31 Ott 2006 17:02:31 CET
Crontab non aiuterebbe ?
On 10/31/06, mlpita@bergamo3.it <mlpita@bergamo3.it> wrote:
>
> Ciao a tutti
> Magari c'è qualcuno che ha voglia di darmi una mano con questo script. Io
> sono
> un neofita di shell scripting e ci sto perdendo la giornata.
>
> Avrei bisogno di uno script da mettere in /etc/init.d da avviare e fermare
> nei
> vari runlevel che, lanciato con "start" dovrebbe lanciare un job
> periodico, e
> lanciato con "stop" fermarlo. Lo start dev' essere non bloccante mentre lo
> stop deve bloccare finche non si è fermato.
>
> Mi sto documentando su come potrei fare ma non ci sono ancora riuscito.
> Nella
> mia idea potrei prendere e memorizzare il PID del "thejob &" con $1 ma non
> so
> come memorizzarlo tra successive chiamate dello script...
> Preferirei evitare di creare dei file .pid etc etc perchè non si sa mai
> cosa
> succede in caso di interruzione dell' alimentazione (i file rimangono ed
> al
> riavvio lo script crede che stai ancora girando).
>
> Allego uno pseudo codice che fa capire cosa vorrei fare
> Ciao, Diego
>
> -------------------------------------------------
> #!/bin/bash
>
> thejob()
> {
> while [ ! condizione di uscita ]
> do
> run my periodic command
> sleep 60
> done
> }
>
>
> startthejob()
> {
> se thejob non sta girando
> thejob &
> return 0
> altrimenti
> return 1
> }
>
> killthejob()
> {
> se thejob sta girando
> uccidi thejob (o segnala condizione di uscita)
> attendi che thejob sia morto
> return 0
> altrimenti
> return 1
> }
>
> start()
> {
> return startthejob
> }
>
> stop()
> {
> return stopthejob
> }
>
>
> # See how we were called.
> case "$1" in
> start)
> start
> ;;
> stop)
> stop
> ;;
> *)
> echo $"Usage: $0 {start|stop}"
> ;;
> esac
>
> exit $?
>
> --
> Sito BgLUG: http://www.bglug.it
> Mailing list: http://www.bglug.it/list/bglug
> BgLUG-biz!: http://www.bglug.it/list/bglug-biz
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.linux.it/pipermail/bglug/attachments/20061031/40d70316/attachment.htm
Maggiori informazioni sulla lista
bglug