Skip to main content

Execv - Linux Komutu - Unix Komutu

Python 3.6 Dersleri #1 | Kurulum ve Sayılar (Nisan 2024)

Python 3.6 Dersleri #1 | Kurulum ve Sayılar (Nisan 2024)
Anonim

execl, execlp, execle, execv, execvp - bir dosyayı yürütün

özet

#Dahil etmek

extern char ** ortamı;

int execl (const char *) yol , const char * arg , …); int execlp (const char * dosya , const char * arg , …); int yürütme (const char * yol , const char * arg , …, char * const envp ); int execv (const char * yol , char * const argv ); int execvp (const char * dosya , char * const argv );

Exec işlevinin açıklaması

exec fonksiyon ailesi, mevcut işlem görüntüsünü yeni işlem görüntüsüyle değiştirir. Bu kılavuz sayfasında açıklanan fonksiyonlar, fonksiyonun ön uçlarıdır.execve(2). (İçin manuel sayfaya bakınexecve Mevcut işlemin değiştirilmesi hakkında ayrıntılı bilgi için.)

Bu işlevlerin ilk argümanı, yürütülecek olan dosyanın yol adıdır.

const char * arg ve sonraki elipslerexecl, execlp, veexecle fonksiyonlar olarak düşünülebilir arg0 , arg1 , …, argn . Birlikte yürütülen program için mevcut argüman listesini temsil eden null-sonlandırılmış dizeleri bir veya daha fazla işaretçi listesini açıklar. İlk argüman, kural gereği, yürütülmekte olan dosya ile ilişkili dosya adına işaret etmelidir. Tartışmaların listesi şart tarafından sonlandırılmakBOŞ Işaretçi.

execv veexecvp işlevler, yeni program için kullanılabilir olan argüman listesini temsil eden boş sonlandırılmış dizelere bir dizi işaretçi sağlar. İlk argüman, kural gereği, yürütülmekte olan dosya ile ilişkili dosya adına işaret etmelidir. İşaretçi dizisi şart tarafından sonlandırılmakBOŞ Işaretçi.

execle Fonksiyonu takip ederek yürütülen işlemin ortamını da belirler.BOŞ parametre listesindeki argümanların listesini veya ek parametre ile argv dizisine işaretçi sonlandırır. Bu ek parametre, boş sonlandırılmış dizelere işaret eden bir dizi dizidir. şart tarafından sonlandırılmakBOŞ Işaretçi. Diğer işlevler, dış işlemden yeni işlem görüntüsünün ortamını alır çevrelemek mevcut süreçte.

Bu işlevlerden bazıları özel anlamlara sahiptir.

Fonksiyonlarexeclp veexecvp Belirtilen dosya adı eğik çizgi (/) karakteri içermiyorsa, yürütülebilir dosyanın aranmasında kabuk eylemlerini çoğaltacaktır. Arama yolu, çevrede belirtilen yoldur.YOL değişken. Bu değişken belirtilmemişse, ``: / bin: / usr / bin '' varsayılan yolu kullanılır. Ayrıca, belirli hatalar özel olarak ele alınır.

Bir dosya için izin reddedildiyse (denendiexecve iadeEACCES), bu işlevler arama yolunun kalanını aramaya devam edecektir. Bununla birlikte, başka bir dosya bulunamazsa, bunlar global değişkenle birlikte dönecektir. errno ayarlanırEACCES.

Bir dosyanın üstbilgisi tanınmadıysa (denendiexecve iadeENOEXEC), bu işlevler ilk argüman olarak dosyanın yolunu kullanarak kabuğu yürütür. (Bu girişim başarısız olursa, başka arama yapılmaz.)

Exec Fonksiyonlarının Dönüş Değeri

Herhangi biriexec işlevler döndürür, bir hata oluştu. Dönüş değeri -1, global değişken errno hatayı göstermek için ayarlanacaktır.