Newsgroup: it.comp.os.linux.iniziare
Titolo: Stampa su video *e* su file in contemporanea

Ho un programma (unhide-linux) che emette su su video il log delle operazioni
che fa.
Ho bisogno di creare un log su file e vedere *contemporaneamente* il file di
log su video.
Il classico:
        programma | tee filedilog
non funziona, in quanto il video viene visualizzato solo alla fine
dell'esecuzione del programma.
E non posso usare l'opzione del programma stesso di creare il file di log, in
quanto sovrascrive sempre con lo stesso nome i files precedenti, rendendo
inutile il programma stesso (ho bisogno di un file diverso per ogni
esecuzione).
Esiste una soluzione?
 
-- 
+---------------------------------------------------------------------------+
| ... Proverbio: Niente popo' di meno, cioe` la stessa quantita` di popo'   |
| --- FMail 1.02                                                            |
|  * Origin: <> The Day After BBS +39-2-58108512 28.800 24h/24h (2:331/374) |
+-----#64-----------------------------------------Disperazioni--------------+

 
 
Il problema non e' tee ma il fatto che tu veda il contenuto di stdout 
solo alla fine.
Questo succede perche' stdin/stdout sono  buffered quando sono rediretti 
su file
stdbuf -i0 -o0 programma
 
rende stdin e stdout unbuffered
 
quindi
stdbuff -o0 programma | tee filedilog
 
oppure programma | stdbuff -i0 -o0 tee filedilog
 
dovrebbe andare

enoquick in data 04:47, lunedì 06 novembre 2017, nel gruppo
it.comp.os.linux.iniziare ha scritto:

Idea buona, ma non cambia nulla!  :(
 
 
-- 
+----------------------------------------------------------------+
| meglio il culo gelato che un gelato nel culo                   |
| meglio indossare una camicia coi baffi che le mutande di pizzo |
| * Origin: Muu Muu the Mad Cow discovered Fidonet (2:333/805)   |
+-----#65----------------------------Subj : Taglines-------------+


Tempo fa avevo provato qualcosa del genere ed andava
Non capisco perche' nel tuo caso non funzioni
Forse  programma scrive alla fine ?
 
 

 Forse  programma scrive alla fine ?
 
Il programma stampa _durante_ l'esecuzione l'operazione che sta facendo, e ad
ogni preoblema riscontrato, scrive una o piú righe di specifica.
L'esecuzione liscia senza problemi, dura una decina di secondi.
 
La riga di comando é:
        sudo /usr/sbin/unhide-linux -m -d -v sys procall brute reverse
 
Si tratta di un programma per individuare processi nascosti che mando in
esecuzione per alcune volte di seguito a vari orari e tramite cron il altri
orari specifici.
Succede, se vi é stato un'operazione che ha aperto parecchi files temporanei e
li ha chiusi, che il programma si mette a listare parecchie centinaia di
righe, in tal caso, lo devo stoppare.
Ma mi serve anche avere il log da analizzare se necessario.
Ecco perché mi serve avere la visualizzazione diretta di quanto succede in
contemporanea alla scrittura del file di log.
 
-- 
+---------------------------------------------------------------------------+
|  Ci sono difetti che, sfruttati bene, brillano piu' della stessa virtu'.  |
|  (La Rouchefoucauld)                                                      |
+-----#6--------------------------------------Diamanti di saggezza.---------+


Ho provato ad eseguire questo comando:
 
sudo stdbuf -o0 /usr/sbin/unhide-linux -m -d -v sys procall brute 
reverse | tee log.log
 
e vedo su video (e subito) l'output di unhide
 
 
 

 e vedo su video (e subito) l'output di unhide
 
Da me no.  :(  :(
Sto usando un raspberry pi3 con jessie collegandomi in ssh da un fisso con
debian lenny e kde (che non ha stdbuf!).
Provato su un'altro pc con jessie (avviata da chiavetta) in diretta, e quindi
senza ssh dal suo LXTerminal e fa uguale.
Avvio il comando, attendo una decina abbondante di secondi in cui tutto sembra
congelato, poi vedo l'output tutto in un colpo.
Ho fatto una prova, tanto...
 
Ho provato ad usare, sempre in ssh sul rpi3:
        sudo unhide-linux sys | stdbuf -o0  xargs echo
E fa uguale, l'output (tutto su una riga, ovvio) compare dopo l'esecuzione del
programma.
Stessa cosa se lo faccio sul pc con la chiavetta e poi anche da questo in ssh
sul rpi3.
 
Amen!
Grazie per il tempo che ti ho fatto perdere.
 
-- 
+---------------------------------------------------------------------------+
|   togliere virus lo trovo degradante, faccio il tecnico informatico e     |
|   non il servizio spurgo.                                                 |
+-----#16--------------------Campagna contro le pubblicita` idiote.---------+

enoquick in data 04:39, mercoledì 08 novembre 2017, nel gruppo

Giusto per completare l'argomento.
Ho creato una live con debian stretch, nello stesso modo in cui avevo creato
quella con jessie, ed il gioco funziona perfettamente, come dici tu.
Quindi ritengo che il problema risieda in qualche implementazione/bug fatta
nella jessie.
 
-- 
+---------------------------------------------------------------------------+
|  Astronauti: "Houston, abbiamo bisogno di assistenza su un PC!"           |
|  Houston: "Che sistema operativo c'e' installato su quel PC?"             |
|  Astronauti: "Windows XP!"                                                |
|  Houston: "Avete un problema..."                                          |
+-----#10---------------------------Ora di cambiare. Passa a Linux.---------+