glug: Downloaad e spegnimento programmato....

Ugo Tartaglino tartagli@sissa.it
Sat, 16 Dec 2000 20:26:29 +0100


On Sat, 16 Dec 2000, Roberto A. F. wrote:

> Matteo Graci wrote:
> 
> > > Devi comunque essere root oppure il tuo utente deve avere il permesso di
> > > spegnere ;-)

 ...

> Ovviamente il su root deve essere fatto per tutto lo script non solo per lo
> shutdown (altrimenti devi immettere la passwd quando ha finito... ma allora
> ;-).
> Ad esempio:
> 
>  su root -c "wget -c pinco palla; halt"
> 

 Segnalo anche un piccolo truccho che permette di sincronizzare i
processi e puo` essere usato per questo scopo.
E` possibile creare dei file speciali di tipo "named pipes" tramite il
comando "mkfifo". Se un processo tenta di scrivere (o leggere) questi file
allora tale processo rimane in attesa che un altro processo legga (o
scriva) sul medesimo file. In questo modo e` possibile realizzare un
piccolo script da eseguire come root, che fa solo due cose:
 1 _ scrive su una named pipe ==> quindi aspetta che qualcuno legga la
     named pipe.
 2 _ esegue lo shutdown del PC
In questo modo lo script che esegue il download quando finisce il suo
lavoro puo` consentire al processo di root di spegnere il PC semplicemente
leggendo il contenuto del file.

Esempio:

mkfifo /home/tizio/tubo
chmod protezioni_che_vuoi /home/tizio/tubo
# Nota: devi concedere ai processi che consentono lo shutdown di poter
#       leggere il file /home/tizio/tubo


 Script di shutdown:
echo "Allora? Posso procedere?" > /home/tizio/tubo
# tutte le istruzioni che ti pare, compreso lo shutdown
...


 Script di download:
# tutte le istruzioni per il download
...
cat /home/tizio/tubo > /dev/null


 Ciao,
  Ugo