|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
Help signusr1
Salve ragazzi..
allora devo fare uno script bash che deve far partire un programa fatto in C che va a costruirsi un disco virtuale.... allora per partire ok... ma per "spegnerlo" dovrei mandargli un segnale tipo signusr1 se nn sbaglio... chi mi da una mano?? come faccio a mandargli sto segnale ?? scusatemi se magari dico cavolate.... devo salvare il pid giusto? echo "$!" > $id_file;; facendo pero pid=$(cat $id_file) kill -sigint $pid nn succede niente... allora il mio collega che fatto l'altro file c ha fatto in modo che quando riceve il segnale sigusr1 si "disattiva" con close ecc ecc.... cosa devo fare? come gli invio il segnale? lascio perdere kill?
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
ciao mi servirebbe un ulteriore aiuto...
allora quello che stimo facnedo è un progetto fatto in script bash e in C... consiste in un disco virtuale cui l'attivazione e disattivazione deve essere controllato da un processo gestore che ho fatto e si chiama VD....su questo disco devono poter essere effetuate delle operazioni da e verso il disco virtulale per esempio: cp casa.txt VD:/casa/casa.txt rm VD:/casa/casa.txt ecc ecc spero di avermi fatto capire..... qualcuno mi da un consiglio su come potrei fare questa cosa in bash? cioè sono in alto mare e nn so come fare per se ce la stringa VD va ad operare nel disco virtuale.... grazie per chi mi aiuta!!
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
nessuno mi aiuta??
ce qualcosa che nn capite?
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
help me please
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
L'unica cosa che mi viene in mente è quella di realizzare un device-driver in modo da creare un "block device" che una volta montato nel sistema sia visibile su un certo mount-point. Non è comunque una cosa così banale da realizzare!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
guarda se hai un po di pazienza queste sono le slide del progetto...
www.dsi.unive.it/~lso/ProgettoHTML/progetto.html sono poche... dalla slide 12 è quelo che intendo io.... grazie per gli aiuti......
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Da quello che posso capire, potresti creare degli script con il nome del comando
(cp, rm, del, ecc.), modificando PATH in modo che vengano eseguiti per primi, e tali che se non c'è VD: tra gli argomenti, 'passano' la chiamata all'eventuale comando di sistema. |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Vediamo se ho capito bene: - Il "gestore" è sviluppato in "C" e gira in background (può essere avviato/stoppato). - La comunicazione con il gestore la puoi sviluppare come vuoi. Viene mostrato un esempio di sessione: vd start cp /home/rossi VD:/pippo mkdir VD:/base ecc... Ma quei comandi cp, mkdir, ecc... sono e devono essere quelli di sistema???
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
ciao
allora il gestore io lo fatto in bash nn è altro che un file bash con un case che se ce la stringa start fa partire il file eseguibile che mi va a creare il disco virtuale(i-node ecc ecc) se ce stop fa kill del pid... se leggi la slide 16 vedi che 1- se nn ce la stringa VD chiamo il comando normale del sistema.. 2- se ce la stringa vd va a chiamare il comando corrispondente che sara su un file .c..... ma come faccio a vedere se ce o no la stringa vd??
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
up
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Ciao, una soluzione al tuo problema può essere quella spiegata bene da Qu@ker. In pratica "rimpiazzare" i comandi di sistema con i tuoi e poi verificare se tra gli argomenti c'è un VD: per sapere se richiamare il comando di sistema oppure il tuo.
Il problema quindi sarebbe quello di verificare se tra gli argomenti c'è un parametro che inizia con "VD:". Si può fare tranquillamente in uno script bash (ovviamente anche in "C", se si volesse). Esempio: Codice:
#!/bin/bash
VD=0
for ARG in $*
do
ARG_S=${ARG:0:3}
if [ "$ARG_S" = "VD:" ]; then VD=1; fi
done
if [ $VD -eq 1 ]; then
echo "usa comando speciale per vd"
else
echo "usa comando standard di sistema"
fi
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
scusa
ma quindi dovrei fare un file bash per ogni comndo tipo cp.bash rm.bash ecc ecc?? nn posso creare un unico file bash che poi i arrngia con qualsiasi comando verrà eseguito??
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Nella slide si vede l'esempio: $ cp /home/rossi VD:/pippo Quindi credo che si richieda di realizzare proprio un comando 'cp' che si comporta come quello standard ma con in più, in modo trasparente, il supporto per quello specificatore VD: Altrimenti sarebbe, credo, banale: ti crei per esempio un unico eseguibile in "C" chiamato 'vdfuncs' in cui gestisci i vari rm, cp, ecc...
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
no "deve" essere fato in bash...
quindi dici che devo pr forza farlo in piu file... ok allora faro cosi... pero i comandi da eseguire in casoci fosse VD sono fatti in C in un unico file con piu funzioni come faccio a dirgli usa quella funzione e nn l'altra ad esempio?? grazie escusami se faccio domande idiote ma nn sono molto pratico...
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
#16 | |||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|||
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
Quote:
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
cosa fa di preciso questo?
Quote:
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
dove progvd è il programma "C" che gestisce tutti i comandi.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
prende i primi 3 caratteri di $ARG e li mette in $ARG_S
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:31.



















