Linux/Więcej o fork i exec
Fork() i Exec()
edytujPodane funkcje pochodzą z standardowej biblioteki c/c++, patrz: Biblioteka standardowa języka C
Fork
edytujFunkcja fork() służy do tworzenia nowego procesu będącego kopią procesu wywołującego daną funkcję (ang. parent - rodzic). Funkcja dana zwraca pid (process id) dziecka (procesu potomnego) rodzicowi, a w procesie potomnym zwraca 0. Pomnażanie procesów (kopii) służy głównie do poprawiania wydajności programów. Patrz: Wielowątkowość. Używanie funkcji fork() może być korzystne dla wydajności programu, lecz może być także źródłem zagrożeń. Patrz Fork-bomba Niekontrolowane rozmnażanie się procesów może całkowicie spowolnić jego działanie, "zawiesić" na długi czas i sprawić, że będzie niedostępny.
Exec
edytujFunkcja Exec() i jej pochodne służy do uruchomienia procesu potomnego. W przeciwieństwie do funkcji system(), funkcja ta uruchamia proces kopię dla potrzeb danej funkcji, który po zakończeniu działania funkcji ginie. W ten sposób funkcja exec() nie powoduje zatrzymania programu na czas wywołania tejże funkcji.
Źródła:
edytujBiblioteka libc: [1] Fork(): [2] Exec(): [3]
Czas edycji i autor: --Xgrzyb90 10:48, 28 sie 2009 (CEST)