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

Funkcje exec

Opis : Wywołułą proces potomny
Rozróżniamy dwie grupy funkcji exec

  • execl... : gdy znamy ilość argumentów wywołania
  • execv... : gdy nie znamy ilość argumentów wywołania, a argumenty są przekazywane w postaci wskaźnika do tablicy argumentów
    Składnia
  • int *execl ( char *path , char *arg0 , ... , char *argn , NULL );
  • int execle ( char *path , char *arg0 , ... , char *argn , NULL , char *envptr[] );
  • int execlp ( char *path , char *arg0 , ... , char *argn , NULL );
  • int execlpe ( char *path , char *arg0 , ... , char *argn , NULL , char *envptr[] );
  • int execv ( char *path , char *argtb[] );
  • int execve ( char *path , char *argtb[] , char *envptr[] );
  • int execvp ( char *path , char *argtb[] );
  • int execvpe ( char *path , char *argtb[] , char *envptr[] );

  • 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 : execv ( "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
  • EACCES : plik zablokowany do pracy w wielodostępie
  • 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