Re: lug-bg: pipes
- Subject: Re: lug-bg: pipes
- From: luben@xxxxxxxxxxxxx (luben karavelov)
- Date: Tue, 18 Apr 2000 04:50:45 +0300
Svetoslav Nikolov wrote:
>
> Ne mojesh li da izpolzvash semafori, ili naprimer message queue za da
> razberesh koga e prikliuchil child-procesa?
> A inache ako child procesa startira programa, toi moje da proveriava
> dali programata ne e svurshila chrez slednite niakolko reda :
> /* Create one way pipe line with call to popen() */
> if (( pipe_fp = popen("pidof program_name", "r")) == NULL)
> {
> perror("popen");
> exit(1);
> }
>
> fgets(readbuf,80,pipe_fp);
> fgets(readbuf,80,pipe_fp);
> pclose(pipe_fp);
> V readbuf-a shte se sadarja ID-to na programata. Sled kato child
> procesa e ustanovil che programata se e zatvorila moje da prati
> specialnata kombinacia ot simvoli. Sashtata proverka moje da se pravi
> i ot parent procesa, stiga da znae imeto na programata.
> Reshenieto ne e cufnalo ot elegantnost, no na men mi varshi rabota.
>
> Svetoslav
>
princino pipe buffera e 4096b goliam. tova znachi, che
kogato parent
processa poluchi SIGCHLD (child processa e svurshil), toi
moze da ne e
prochel vsichko, koeto child processa e napisal vav pipe-a.
Ot druga strana se opitvam da izbegna popen(), zashtoto tia
mi startira
programata v shell. a puk ne iskam da pass-vam niakakvi
specialni stoinosti,
shtoto prez pipe-a predavam kartinki(PNG), taka che ne moze
da se kazhe
che ima specialni stoinosti - vsiaka takava moze potencialno
da se sudurzha
vav predavanite danni.
Celia problem e tam, che kato chetesh ot pipe ne poluchavash
EOF, sled kato
otsreshtnata strana go e zatvorila, kakto bi triabvalo da e
(pone v
dokumentaciata na glibc pishe, che taka triaba da e).
Luben
==================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers)
Otpiswaneto RABOTI !!! : Majordomo@xxxxxxxxxxxxxxxxxx UNSUBSCRIBE LUG-BG
http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora
|