 |
 |
Opis : Wywołułą proces potomny, a po jego wywołaniu wraca do programu nadrzędnego Rozróżniamy dwie grupy funkcji spawn spawnl... : gdy znamy ilość argumentów wywołania spawnv... : gdy nie znamy ilość argumentów wywołania, a argumenty są przekazywane w postaci wskaźnika do tablicy argumentów Składnia
int spawnl ( int flag , char *path , char *arg0 , ... , char *argn , NULL ); int spawnle ( int flag , char *path , char *arg0 , ... , char *argn , NULL , char *envptr[] ); int spawnlp ( int flag , char *path , char *arg0 , ... , char *argn , NULL ); int spawnlpe ( int flag , char *path , char *arg0 , ... , char *argn , NULL , char *envptr[] ); int spawnv ( int flag , char *path , char *argtb[] ); int spawnve ( int flag , char *path , char *argtb[] , char *envptr[] ); int spawnvp ( int flag , char *path , char *argtb[] ); int spawnvpe ( int flag , char *path , char *argtb[] , char *envptr[] );
flag : tryb pracy procesu nadrzędnego P_WAIT : zawiesza proces nadrzęny, wykonuje podrzędny i ponownie wraca do nadrzędnego P_OVERLAY : niszczy proces nadrzędny bez możliwości powrotu do niego P_NOWAIT : w systemach innych niż DOS powoduje równoległe wykonywanie oby procesów path : Ścieżka do pliku, który będzie uruchomiony arg0, ..., argn, NULL : argumenty wywołania dla pliku argtb : tablica argumentów wywołania dla pliku envptr : tablica parametrów środowiska Przykład : spawnv ( P_WAIT, "start.exe" , argtb ); Plik nagłówkowy dos : < process.h > unix : < unistd.h > Wartość zwracana Sukces : przy prwidłowym wykonaniu programu funkcja nie powraca do programu nadrzędnego Błąd E2BIG : długość argumentów przekracza 128 lub pamięć wymagana do pomieszczenia całej tabeli zmiennych środowiskowych jest większa niż 32K EINVAL : niepoprawny argument flag EMFILE : za dużo otwartych plików ENOENT : ścieżka lub plik nie został odnaleziony ENOEXEC : zły format pliku ENOMEM : problemy z pamięcią podczas ładowania pliku System : dos , unix
Powrót
|
 |