Mówiąc szczerze to już przy samym wypisaniu PID mam problem
pomysl jest taki
int main(int argc, char * argv[], char *envp[])
{
pid_t pid_parent, pid_child;
switch(fork())
{
case -1:
//jesteśmy w rodzicu, ale niepowodzenie
case 0:
//jesteśmy w dziecku
pid_child=getpid();
printf("dziecko: %d\n",pid_child);
default:
//jesteśmy w rodzicu
pid_parent=getpid();
printf("rodzic: %d\n",pid_parent);
}
//printf("pid rodzica: %d, pid dziecka: %d\n",pid_parent, pid_child);
}
oczywiście nie działa, leżę już na samym początku, a gdzie mowa o:
Potomek dziedziczy z procesu potomnego wiele własności:
rzeczywisty identyfikator użytkownika, rzeczywisty identyfikator grupy, obowiązujący identyfikator użytkownika, obowiązujący identyfikator grupy,
identyfikatory dodatkowych grup,
identyfikator sesji,
terminal sterujący,
sygnalizator ustanowienia identyfikatora użytkownika oraz sygnalizator ustanowienia identyfikatora grupy,
deskryptory otwartych plików (są kopiowane)
bieżący katalog roboczy,
katalog główny,
maskę tworzenia plików,
maskę sygnałów oraz dyspozycje obsługi sygnałów,
sygnalizator zamykania przy wywołaniu funkcji exec (close-on-exec) dla wszystkich otwartych deskryptorów plików,
środowisko,
przyłączone segmenty pamięci wspólnej,
ograniczenia zasobów systemowych.
Są jednak pewne różnice między procesem macierzystym a potomnym:
wartość powrotu z funkcji fork,
różne identyfikatory procesów,
inne identyfikatory procesów macierzystych - w procesie potomnym jest to identyfikator procesu macierzystego; w procesie macierzystym identyfikator procesu macierzystego nie zmienia się,
w procesie potomnym wartości tms_utime, tms_cutime i tms_ustime są równe 0,
potomek nie dziedziczy rygli plików, ustalonych w procesie macierzystym,
w procesie potomnym są zerowane wszystkie zaległe alarmy,
w procesie potomnym jest zerowany zbiór zaległych sygnałów.
temat jest na sobotę do zrobienia i od tych dwóch zadań zależy to czy zaliczę semestr czy nie, błagam o wszelkie informacje. Czytam dokumentację, wykłady i ... po prostu nie jestem w stanie tego zrobić. Może z Waszą pomocą jakoś przebrnę.