Linux Komutanını öyrən - execv

execl, execlp, execle, execv, execvp - faylın icrası

Sinopsis

#include

extern char ** ətrafı;

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 * const envp []);
int execv (const char * yol , char * const argv []);
int execvp (const char * fayl , char * const argv []);

Təsvir funksiyalarının təsviri

Funksiyaların exec ailəsi cari prosesin surətini yeni bir proses image ilə əvəz edir. Bu dərslik səhifəsində təsvir olunan funksiyalar funksiyanın həyata keçirilməsi üçün ön uçlardır (2). (Mövcud prosedurun dəyişdirilməsi ilə bağlı ətraflı məlumat üçün dərslik səhifəsinə baxın.)

Bu funksiyaların ilkin arqumenti icra ediləcək bir faylın yoludur.

Const char * argexecl , execlpexecle funksiyalarında sonrakı ellipslər arg0 , arg1 , ..., argn kimi düşünülür . Birlikdə onlar yerinə yetirilən proqramda mövcud olan sübut siyahısı göstərən null terminalı strings bir və ya daha çox göstəricilərin siyahısını təsvir edir. Konvensiya ilə ilk arqument, icra edilən faylla əlaqəli fayl adını göstərməlidir. Arqumentlərin siyahısı NULL göstəricisi tərəfindən ləğv edilməlidir .

Execvexecvp funksiyaları yeni proqramda mövcud olan dəlil siyahılarını təmsil edən null terminalı strinqlərə bir sıra göstəricilər təqdim edir. Konvensiya ilə ilk arqument, icra edilən faylla əlaqəli fayl adını göstərməlidir. Göstəricilərin sütunları NULL göstəricisi tərəfindən ləğv edilməlidir .

Bu execle funksiyası həmçinin parametr siyahısında argumentlərin siyahısını və ya əlavə parametr ilə argv array göstəricisinə son verən NULL göstəricisini təqib edərək yerinə yetirilən prosesin mühitini müəyyənləşdirir. Bu əlavə parametr null-terminated strings üçün göstəricilər bir sıra və bir NULL göstərici ilə ləğv edilməlidir . Digər funksiyalar mövcud prosesdə xarici dəyişən mühitdə yeni proses image üçün ətraf mühitə malik olur.

Bu funksiyalardan bəziləri xüsusi semantiklərə malikdir.

Execlpexecvp funksiyaları, müəyyən fayl adı bir çırpma (/) xarakterli olmadıqda yerinə yetirilə bilən bir fayl axtararkən qabığın hərəkətlərini kopyalayacaq . Axtarış yolu, PATH dəyişən tərəfindən mühitdə göstərilən yoludur. Bu dəyişən müəyyən edilmədikdə, ``: / bin: / usr / bin '' ın default yolu istifadə olunur. Bundan əlavə, müəyyən səhvlər xüsusi olaraq müalicə olunur.

Bir faylın icazəsi ( EACCES-i geri qaytarmağa cəhd) rədd edildikdə , bu funksiyalar axtarış yolunun qalan hissəsini axtarmağa davam edəcəkdir. Heç bir başqa fayl tapılmadıqda, EACCES- ə qlobal dəyişən errno ilə dönəcəklər .

Bir faylın başlığı tanınmırsa ( ENOEXEC-ə qayıtdıqdan sonra ) bu funksiyalar qabığın faylın yolu ilə ilk arqumenti kimi icra ediləcəkdir. (Bu cəhd uğursuz olarsa, heç bir axtarış edilmir.)

Exec funksiyalarının qayıt dəyəri

Exec funksiyalarından hər hansı birinin qaytarılması halında bir səhv baş verdi. Dönüş dəyəri -1, qlobal dəyişən errno səhvləri göstərmək üçün təyin ediləcək.