linux user group brescia

immagine del castello

Archivio della mailing list

Inviare output a tty da un processo lanciato da Cron

Luca Coianiz lcoianiz a w3.to
Mar 10 Ott 2000 19:29:13 UTC
    Ciao a tutti,

 Spero non sia la solita domanda "da newbie" ma... come si fa a mandare
dell'output (segnalazioni e, potendo, "bells") da un processo che gira
(immagino) in background "al terminale tty che sto visualizzando in questo
momento" ?

 Premetto che gli script interessati sono:

- seti: lancia l'eseguibile setiathome con vari parametri, ne visualizza lo
        stato o lo killa (ad ogni modo termina sempre quasi subito).
- seti.check: lanciato da Cron esegue il controllo sui dati in fase d'elabo
        razione: se sono pronti segnala sul log.
- seti.walert: è lo script che dovrebbe inviare le segnalazioni (ed i
        "beep") nella schermata aperta con screen (la chiamata, effettuata
        da seti.check, è "screen seti.walert").

 Spiego un attimo: ho scritto uno script (bella la rima eh ? ;) che, in base
ad un sacco di condizioni, lancia un eseguibile (SETI a home) in background.
Fin qui tutto bene.

 Ad un certo punto il programma, finita l'elaborazione corrente, termina ed
"aspetta" che io mandi via i dati e raccolga il prossimo "dump" di dati da
elaborare (in seguito lo devo rilanciare: ho scelto di NON farlo rimanere in
attesa).

 Allora... fino a poco tempo fa terminava e basta: dovevo andare a
verificare se era ancora su e, in caso contrario inviare/ricevere i dati.
 Adesso invece, dopo alcune prove infruttuose di output via echo, mi sono
risolto ad utilizzare un altro script di segnalazione, lanciato ogni 30' via
Cron, che scrive sul Log il risultato della verifica ("already processing" o
"data ready to send").
 Quando il programma di controllo (seti.check) viene lanciato da Cron non fa
riferimento e nessun tty particolare (diversamente da quando lo lancio
manualmente) e, comunque, anche se lo facesse, può sempre essere che io non
stia visualizzando QUEL tty (per cui dovrei poter indirizzare "il tty
corrente").

 Ho fatto di recente un paio di prove: usando il comando screen è possibile
far aprire, da parte di seti.check, una finestra (fullscreen) in cui un
altro script va a scrivere le segnalazioni ("data ready to send")
assieme al carattere "bell". Al termine della scrittura la finestra si
chiude e tutto torna come prima.
 Funziona se lancio io a mano il programma di controllo da uno dei tty,
mentre se lo lancia Cron la schermata NON si apre (ma non capisco il perchè:
non ci sono segnalazioni sui log).

 Bye
 Sky

P.S.
 Ah... spiegazioni semplici, mi raccomando: io SONO un newbie.  ;-)






Maggiori informazioni sulla lista Lug