<div>Crontab non aiuterebbe ?<br><br>&nbsp;</div>
<div><span class="gmail_quote">On 10/31/06, <b class="gmail_sendername"><a href="mailto:mlpita@bergamo3.it">mlpita@bergamo3.it</a></b> &lt;<a href="mailto:mlpita@bergamo3.it">mlpita@bergamo3.it</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Ciao a tutti<br>Magari c'è qualcuno che ha voglia di darmi una mano con questo script. Io sono<br>un neofita di shell scripting e ci sto perdendo la giornata.
<br><br>Avrei bisogno di uno script da mettere in /etc/init.d da avviare e fermare nei<br>vari runlevel che, lanciato con &quot;start&quot; dovrebbe lanciare un job periodico, e<br>lanciato con &quot;stop&quot; fermarlo. Lo start dev' essere non bloccante mentre lo
<br>stop deve bloccare finche non si è fermato.<br><br>Mi sto documentando su come potrei fare ma non ci sono ancora riuscito. Nella<br>mia idea potrei prendere e memorizzare il PID del &quot;thejob &amp;&quot; con $1 ma non so
<br>come memorizzarlo tra successive chiamate dello script...<br>Preferirei evitare di creare dei file .pid etc etc perchè non si sa mai cosa<br>succede in caso di interruzione dell' alimentazione (i file rimangono ed al<br>
riavvio lo script crede che stai ancora girando).<br><br>Allego uno pseudo codice che fa capire cosa vorrei fare<br>Ciao, Diego<br><br>-------------------------------------------------<br>#!/bin/bash<br><br>thejob()<br>{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while [ ! condizione di uscita ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run my periodic command<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sleep 60<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; done<br>}<br><br><br>startthejob()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se thejob non sta girando<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thejob &amp;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; altrimenti<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1<br>}<br><br>killthejob()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se thejob sta girando<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uccidi thejob (o segnala condizione di uscita)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attendi che thejob sia morto
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; altrimenti<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1<br>}<br><br>start()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return startthejob<br>}<br><br>stop()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return stopthejob<br>}<br><br><br># See how we were called.
<br>case &quot;$1&quot; in<br>&nbsp;&nbsp; start)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br>&nbsp;&nbsp; stop)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stop<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br>&nbsp;&nbsp;&nbsp;&nbsp;*)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo $&quot;Usage: $0 {start|stop}&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br>esac<br><br>
exit $?<br><br>--<br>Sito BgLUG: <a href="http://www.bglug.it">http://www.bglug.it</a><br>Mailing list: <a href="http://www.bglug.it/list/bglug">http://www.bglug.it/list/bglug</a><br>BgLUG-biz!: <a href="http://www.bglug.it/list/bglug-biz">
http://www.bglug.it/list/bglug-biz</a><br></blockquote></div><br>