PDA

Visualizza la versione completa : [C] Passaggio dati tra processo padre e processo figlio


MadBrain
25-11-2005, 13:41
Salve,
ho scritto un programma che, tramite fork, crea un processo figlio... mi servirebbe sapere se posso modificare una variabile di quest'ultimo tramite il processo padre.
Avete qualche idea?

Ikitt
25-11-2005, 13:49
Originariamente inviato da MadBrain
ho scritto un programma che, tramite fork, crea un processo figlio... mi servirebbe sapere se posso modificare una variabile di quest'ultimo tramite il processo padre.

Direi proprio di no, a meno di usare memoria condivisa.

MadBrain
25-11-2005, 13:57
Ach! Mi servirebbe solo per un'unica variabile... altrimenti mi tocca fare un passaggio tramite un file che preferirei evitare...

Spiegami qualcosa in pių riguardo alla memoria condivisa se vuoi. Intendi che il padre e il figlio condividano tutta la memoria?

Ikitt
25-11-2005, 14:02
Originariamente inviato da MadBrain
Ach! Mi servirebbe solo per un'unica variabile... altrimenti mi tocca fare un passaggio tramite un file che preferirei evitare...
potresti usare una pipe.



Spiegami qualcosa in pių riguardo alla memoria condivisa se vuoi. Intendi che il padre e il figlio condividano tutta la memoria?
Non sono esperto in merito, ho solo letto qualcosa. Non e` necessario condividere tutta la memoria di un dato processo (sebbene, mi pare, si possa, almeno sotto Linux), se ne puo` condividere solo una porzione; nel caso specifico, potresti condividere giusto la variabile.
Su quale piattaforma stai sviluppando? BSD? Linux? Posix?

MadBrain
25-11-2005, 14:39
Posix

fabi080
25-11-2005, 19:15
Se il tuo sistema deriva da SVR4 puoi usare la libreria IPC e le funzioni della famiglia shm*, ma attento che non sono sufficienti, devi anche impementare un meccanismo di sincronizzazione, non č che puoi accedere alla shared memory cosė come ti pare e piace.

Loading