execve() - jak odnalezc rezultat programu?

0

Hej. Mam taki problem:
Chce uruchomic wewnatrz mojego programu program md5sum, ktory oblicza sume kontrolna wskazanych plikow.

  1. Najpierw robie nowy proces (fork)
  2. wewnatrz tego procesu wywoluje funkcje execve(), ktora uruchamia md5sum.
  3. md5sum dziala jak nalezy i sumy kontrolne wyswietla na ekranie.

Ale problem jest taki: jak z powrotem odzyskac obliczone sumy kontrolne i wykorzystac je w moim programie?
Myslalem o takiej opcji: zeby md5sum zapisal wynik prac do pliku, wtedy bym poczekal az proces potomny sie zakonczy i otworzylbym ten plik i sobie odczytal dane, ale md5sum nie umozliwia takiej opcji

macie jakies pomysly?

0

ooo dzieki wielkie, kozacki artykul. Zeby nie bylo watpliwosci:
FILE *fpin;
fpin = popen("/usr/bin/md5sum sieci.c","r"); // funkcja zwraca koniec do odczytu

while (fgets(buf, size, fpin))
    printf("To mam:!!! %s",buf);
fclose(fpin);

i gra gitara
Dziekuje

1 użytkowników online, w tym zalogowanych: 0, gości: 1