Pagina 3 di 19
Inviato: mer 28 mar 2007, 20:01
da submax82
potete provare kernelpkg con i nuovi pata drivers... dovrebbe funzionare...
Inviato: gio 29 mar 2007, 9:50
da submax82
qualcuno sà come fare il -/|\ di attesa... cioè la linea rotante in bash?

Inviato: mer 4 apr 2007, 17:58
da submax82
submax82 ha scritto:qualcuno sà come fare il -/|\ di attesa... cioè la linea rotante in bash?

ci sono riuscito! però...
nella funzione che si occupa della barra, lancio un comando in background ... e fin qui tutto ok
se termino kernelpkg con un ctrl+c rimane in esecuzione il programma in background.... come faccio a fare in modo che termini anche il programma in background che è stato lanciato da kernelpkg ?
idee? è l'ultima cosa prima del rilascio della nuova versione...

Inviato: mer 4 apr 2007, 20:13
da submax82
Inviato: mer 4 apr 2007, 20:56
da targzeta
submax82 ha scritto:qualcuno sà come fare il \i attesa... cioè la linea rotante in bash?

Ehehe, ho letto il tuo thread ed ho visto che anche tu hai un pò di problemi. Questo te lo posso risolvere io. Guarda cosa fa questo script
Codice: Seleziona tutto
for i in \- \/ \|; do echo -en "$i\b"; sleep 1; done
ora devo cenare , il '\' sembra essere una cosa un pò ostile, ma dopo cena te la risolvo sicuro.
Spina
Inviato: mer 4 apr 2007, 21:01
da submax82
spina ha scritto:submax82 ha scritto:qualcuno sà come fare il \i attesa... cioè la linea rotante in bash?

Ehehe, ho letto il tuo thread ed ho visto che anche tu hai un pò di problemi. Questo te lo posso risolvere io. Guarda cosa fa questo script
Codice: Seleziona tutto
for i in \- \/ \|; do echo -en "$i\b"; sleep 1; done
ora devo cenare , il '\' sembra essere una cosa un pò ostile, ma dopo cena te la risolvo sicuro.
Spina
questo l'ho già fatto ... grazie mille comunque
il problema è questo
http://www.univ.trieste.it/csia/doc/old ... .12.4.html
praticamente kernelpkg ora lancia make in background e attende che finisca stampando il messaggio di attesa "animato" il problema è che se termino kernelpkg con ctrl+c ... il processo che aveva lanciato in background continua a girare... proprio il contrario di come dovrebbe avvenire... dal documento sopra
forse la cosa nasce dal fatto che uso eval per lanciare il comando in background
Inviato: mer 4 apr 2007, 21:44
da submax82
non riesco a risolvere ho fatto ... una marea di prove... e tutto per avere il messaggio "animato"...

mannaggia

Inviato: mer 4 apr 2007, 22:44
da targzeta
Ciao,
scusami ma ho avuto da fare con gli altri amici del forum. Quello che ti serve a te è semplicemente la gestione dei segnali e dei processi in background.
Questo script fa per te
Codice: Seleziona tutto
sleep 60&
pid=$!;
trap "kill $pid" SIGINT
echo "Il processo sleep 60 ha PID $pid. Premere ctrl-c per terminare entrambi i
processi.";
sleep 40;
copialo in un file e testalo.
Praticamente lancia in background uno sleep 60. Si prende il PID del processo appena lanciato in background grazie alla variabile di ambiente $!. Imposta un sigaction, ovvero il comando
dice alla shell di catturare il segnale SIGINT (ctrl-c per l'appunto) e, quando ciò avviene deve eseguire "kill $pid" che uccide il processo in backgound.
Ovviamente però il ctrl-c fa morire anche il processo stesso che nel frattempo è in attesa con uno sleep 40.
Spero di esserti stato di aiuto
Spina
Inviato: mer 4 apr 2007, 22:54
da submax82
semi-risolto con trap ma non riesco a trappare il signal di ctrl-z
EDIT: avevo appena fatto uno script simile !!! incredibile

grazie
rimane il problema del ctrl-z se lo trappo si blocca la shell
Inviato: mer 4 apr 2007, 23:08
da targzeta
submax82 ha scritto:semi-risolto con trap ma non riesco a trappare il signal di ctrl-z
EDIT: avevo appena fatto uno script simile !!! incredibile

grazie
rimane il problema del ctrl-z se lo trappo si blocca la shell
A me sembra normale, ctrl-z viene catturato dalla bash e manda in sospensione quest'ultima. Per riavviarla basta premere crtl-q.
Non vedo che problema ci sia per il tuo script?
Spina
Inviato: mer 4 apr 2007, 23:19
da submax82
spina ha scritto:submax82 ha scritto:semi-risolto con trap ma non riesco a trappare il signal di ctrl-z
EDIT: avevo appena fatto uno script simile !!! incredibile

grazie
rimane il problema del ctrl-z se lo trappo si blocca la shell
A me sembra normale, ctrl-z viene catturato dalla bash e manda in sospensione quest'ultima. Per riavviarla basta premere crtl-q.
Non vedo che problema ci sia per il tuo script?
Spina
però la shell si blocca se provo a trappare ctrl-z altrimenti se non uso trap e premo ctrl-z stoppa il processo anche se vedo che rimane in ps
Inviato: mer 4 apr 2007, 23:23
da targzeta
submax82 ha scritto:...però la shell si blocca se provo a trappare ctrl-z altrimenti se non uso trap e premo ctrl-z stoppa il processo anche se vedo che rimane in ps
Si si, stoppa il processo, è proprio a quello che serve il ctrl-z, poi con ctrl-q lo fai ripartire.
Ma non credo che ai fini del tuo script ti interessi molto catturare il ctrl-z.
Spina
Inviato: mer 4 apr 2007, 23:26
da submax82
spina ha scritto:submax82 ha scritto:...però la shell si blocca se provo a trappare ctrl-z altrimenti se non uso trap e premo ctrl-z stoppa il processo anche se vedo che rimane in ps
Si si, stoppa il processo, è proprio a quello che serve il ctrl-z, poi con ctrl-q lo fai ripartire.
Ma non credo che ai fini del tuo script ti interessi molto catturare il ctrl-z.
Spina
però non riparte con ctrl-q cioè senza trap torna il prompt come fà a farlo ripartire?
potrebbe essere utile mandare lo stesso segnale al comando lanciato in background.... altrimenti mentre kernelpkg si ferma ....il processo và avanti
Inviato: gio 5 apr 2007, 0:50
da submax82
intanto è uscita la nuova versione 0.1.12
man rivisto e ampliato... tra un pò diventa un libro
inseriti exit con stati di uscita fissi
barra di attesa con puntini nella compilazione (sembra una banalità ma è stata una mazzata

)
spero di non dimenticare nulla...

Inviato: gio 5 apr 2007, 12:44
da submax82