C/C++ / CGI / Sieć Novell / PHP / Java / SQL / Oracle / WebSphere MQ / WebSphere Message Broker / JavaScript / Humor / IT Quiz

Funkcje spawn

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


  •   Autorem serwisu jest Marcin Kasiński
    Wszelkie prawa zastrzeżone. All rights reserved.
    powered by technology... linux eclipse java php