[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux_var] Bash e script in background



Ciao!

Sto smanettando un po con degli script per colmare la mia immensa ignoranza in materia.... tra le varie cose mi sono imbattuto in un articolo _molot_ simpa di linux&c dove parlava di "zenity", (x chi nn lo conosce e' un software che visualizza in X delle finestre prefatte rendendo i classici script un po "graficosi") che, tra le altre cose ha una modalita' "notification" che gli permette di usare un icona di segnalazione e delle "bolle" per segnalare eventi ascoltando i messaggi dallo stdin.

Ora, venendo al dunque, mi chiedevo, come si puo' fare per lanciare un processo all'avvio del desktop che rimanga in background e quindi nascosto che pero' comunichi con il "suo" processo ?
L'articolo di L&c propone una cosa del genere:

if [ "x$1" != "x--" ]; then
   $0 -- &
   exit 0
fi

Loro dicono che lanciato senza parameteri lo script rilancia un nuovo processo di se in background $0 -- &

Personalmente a causa della mia scarsa conoscenza di bash ho fatto un po fatica a capire sto passaggio, e a dire il vero non sono ancora sicuro se devo interpretare x$1 come x valore per il valore passato al lancio dello script $1 (e ancora, x-- e' x -1 ?)

Poi dopo dicono di fare:
exec 2>/dev/null
exec > >(zenity --notification --listen )

e presumo che io qui dica di mandare tutti gli errori di cio' che eseguiro' in un posto dove prendono le cose con molta considerazione,
e di girare invece lo stdout a zenity che viene lanciato con quei parametri.

Dopodiche' posso gia' iniziare a comunicare con la mia icona, es:
echo "tooltip: Sto lavorando..."
echo "icon: info"
(e funziona)

Qui poi metto una serie di controlli in base a quel che voglio fargli fare

dopodiche' propongono:
sleep $valore
done

Ora, secondo me non va proprio da signori...
Consigli?

Ipotizzando di volere una situazione aggiornata al minuto:
devo tener conto che non posso chiudere il processo, perche' cosi facendo mi sparirebbe l'icona potrei creare uno script con all'interno un ciclo perpetuo schedulato (ma come ne esco?) chiaramente devo anche pensare a non ammazzare la macchina, perche' potrei ad esempio lanciare 4 o 5 script simili...


:-D
Ciao
Fox



--
Email.it, the professional e-mail, gratis per te: http://www.email.it/f

Sponsor:
Conto Corrente on line WebSella.it
* 6% di interessi per 6 mesi, in più hai gratis canone mensile, carta multifunzione, prelievi bancomat, pagamenti on line...
Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8002&d=11-6

--
Per cancellare l'iscrizione: <talking-unsubscribe at ml.linuxvar.it>
Archivi web e configurazione: http://ml.linuxvar.it/ml/