MəZmun
Theicra funksiyalar ailəsi mövcud proses görüntüsünü yeni bir proses görüntüsü ilə əvəz edir. Burada təsvir olunan funksiyalar funksiya üçün ön nöqtələrdiricra etmək(2).
Bu funksiyalar üçün ilkin arqument, icra ediləcəyi bir faylın adıdır.
Theconst char * arg və sonrakı ellipslərexecl, execlp, vəicra etmək kimi düşünmək olararg0, arg1, ..., argn. Birlikdə, bir və ya bir neçə işarənin siyahısını, icra olunan proqramda mövcud olan arqument siyahısını təmsil edən sıfır ləğv edilmiş sətirlərə təsvir edirlər. Birinci dəlil, konvensiya ilə icra olunan faylla əlaqəli fayl adını göstərməlidir. Dəlillərin siyahısıolmalıdır a ilə xitam verilə bilərSIFIR göstərici.
Theexecv vəexecvp funksiyaları yeni proqram üçün mövcud olan arqument siyahısını təmsil edən null sonlu sətirlərə bir sıra göstəricilər təqdim edir. Birinci dəlil, konvensiya ilə icra olunan faylla əlaqəli fayl adını göstərməlidir. Göstəricilər sırasıolmalıdır a ilə xitam verilə bilərSIFIR göstərici.
Theicra etmək funksiyası aşağıdakıları yerinə yetirməklə icra olunan prosesin mühitini də müəyyənləşdirirSIFIRParametrlər siyahısındakı arqumentlər siyahısını və ya əlavə parametr ilə argv massivinə göstərici. Bu əlavə parametr, sıfır ləğv edilmiş sətirlərə işarədirolmalıdır a ilə xitam verilə bilərSIFIR göstərici. Digər funksiyalar xarici dəyişəndən yeni proses görüntüsü üçün mühiti alırmühit indiki müddətdə.
Bu funksiyaların bəzilərində xüsusi semantika var.
Funksiyalarıexeclp vəexecvp Göstərilən faylın adında bir kəsikli (/) işarəsi olmadıqda, icra edilə bilən bir fayl axtararkən qabığın hərəkətlərini təkrarlayacaqdır. Axtarış yolu ətraf tərəfindən göstərilən yoldurPATH dəyişən. Bu dəyişən göstərilmirsə, standart yol ``: / bin: / usr / bin '' istifadə olunur. Bundan əlavə, müəyyən səhvlər xüsusi olaraq müalicə olunur.
Bir fayl üçün icazə rədd edilsə (cəhd edilmişdir)icra etmək qayıtdıƏSASLAR), bu funksiyalar axtarış yolunun qalan hissəsini axtarmağa davam edəcəkdir. Başqa bir fayl tapılmasa, qlobal dəyişən ilə qayıdacaqlarerrno qoyulurƏSASLAR.
Bir faylın başlığı tanımırsa (cəhd edildi)icra etmək qayıtdıENOEXEC), bu funksiyalar qabığı ilk dəlil kimi faylın yolu ilə icra edəcəkdir. (Bu cəhd uğursuz olarsa, başqa axtarış aparılmır.)
Geri Dəyər
Hər hansı biri varsaicra funksiyaları qayıdır, bir səhv baş verəcəkdir. Geri qayıtma dəyəri -1 və qlobal dəyişəndirerrno xətanı göstərmək üçün qurulacaq.
İstifadə edinadam əmr (% adam) əmrinizin xüsusi kompüterinizdə necə istifadə olunduğunu görmək.
Adı
execl, execlp, execle, execv, execvp - bir sənəd icra edin
Tezis
# daxil edin xarici char ** environ; int execl (const char *yol, const char *arg, ...); int execlp (const char *fayl, const char *arg, ...); int execle (const char *yol, const char *arg , ..., char * constenvp[]); int execv (const char *yol, char * constargv[]); int execvp (const char *fayl, char * constargv[]);