fork() i exec()

NI
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 8 lat
  • Postów:7
0

Cześć,

Mam pewnie banalny problem. Muszę dla procesu uruchomić dwa procesy potomne, a następnie do każdego z nich przekazać różne argumenty.

Wiem jak uruchomić kilka procesów potomnych z takimi samymi argumentami, lecz nie mam pojęcia jak podejść do wywołania dwóch procesów potomnych o różnych argumentach.

Będę wdzięczny za pomoc.

nalik
  • Rejestracja:około 9 lat
  • Ostatnio:16 dni
  • Postów:1039
0

No nie wiem, użyć innych parametrów w wywołaniu funkcji execl?

NI
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 8 lat
  • Postów:7
0

Jeśli proces potomny dziedziczy to samo do rodzic, to jak w kodzie mogę odróżnić, że jeden proces potomny już to wywołał? Jestem wstanie odróżnić proces potomny od rodzica, ale dwa różne potomki?

edytowany 1x, ostatnio: Niquit
wujnia
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 7 lat
  • Postów:161
0

man fork.

fork dla rodzica zwraca pid dziecka a dla dziecka 0 bo dziecko moze getppid().

w forku pamiętać musisz aby zamykać w dziecku niepotrzebne fd.
Podobnie z execve et co.
execve przejmuje PID ale stary proces przestaje istnieć co chcesz przekazujesz przez argv.

edytowany 1x, ostatnio: wujnia
nalik
Nie przestaje istnieć tylko jego kod zostaje podmieniony.
wujnia
Podmieniony imho jest mylące ale k.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.