الإكسيك تستبدل عائلة الوظائف صورة العملية الحالية بصورة عملية جديدة. الوظائف الموصوفة هنا هي واجهة أمامية للوظيفةexecve(2).
الوسيطة الأولية لهذه الدالات هي مسار ملف يتم تنفيذه.
ال const char * arg والعلامات اللاحقة فيexecl, execlpوexecle يمكن اعتبار وظائف كما arg0 , ARG1 , …, argn . معا يصفون قائمة من واحد أو أكثر من المؤشرات إلى سلاسل منتهية خالية والتي تمثل قائمة الوسيطة المتاحة للبرنامج المنفذة. يجب أن تشير الوسيطة الأولى ، حسب الاصطلاح ، إلى اسم الملف المقترن بالملف الجاري تنفيذه. قائمة الحجج يجب يتم إنهاؤها بواسطةلا شيء المؤشر.
الexecv وexecvp توفر الدالات صفيف من المؤشرات إلى سلاسل منتهية خالية تمثل قائمة الوسائط المتاحة للبرنامج الجديد. يجب أن تشير الوسيطة الأولى ، حسب الاصطلاح ، إلى اسم الملف المقترن بالملف الجاري تنفيذه. مجموعة من المؤشرات يجب يتم إنهاؤها بواسطةلا شيء المؤشر.
الexecle الدالة تحدد أيضًا البيئة للعملية المنفذة باتباعلا شيءالمؤشر الذي ينهي قائمة الوسائط في قائمة المعلمات أو المؤشر إلى صفيف argv مع معلمة إضافية. هذه المعلمة الإضافية هي صفيف من المؤشرات إلى سلاسل منتهية خالية يجب يتم إنهاؤها بواسطةلا شيء المؤشر. تأخذ الوظائف الأخرى البيئة لصورة العملية الجديدة من المتغير الخارجي اكتنف في العملية الحالية.
بعض هذه الوظائف لها دلالات خاصة.
وظائفexeclp وexecvp سيقوم بتكرار إجراءات shell في البحث عن ملف قابل للتنفيذ إذا كان اسم الملف المحدد لا يحتوي على حرف شرطة مائلة (/). مسار البحث هو المسار المحدد في البيئة بواسطةمسار متغير. إذا لم يتم تحديد هذا المتغير ، فسيتم استخدام المسار الافتراضي ``: / bin: / usr / bin '. بالإضافة إلى ذلك ، يتم التعامل مع بعض الأخطاء بشكل خاص.
إذا تم رفض الإذن لأحد الملفات (المحاولةexecve عادEACCES) ، ستتابع هذه الوظائف البحث عن بقية مسار البحث. إذا لم يتم العثور على أي ملف آخر ، فسيعود مع المتغير الشامل errno ضبط لEACCES.
إذا لم يتم التعرف على رأس الملف (المحاولةexecve عادENOEXEC) ، ستقوم هذه الوظائف بتنفيذ shell بمسار الملف كوسيطة أولى له. (في حالة فشل هذه المحاولة ، لن يتم إجراء أي بحث إضافي).
قيمة الإرجاع
إذا كان أي منإكسيك وظائف ، قد حدث خطأ. قيمة الإرجاع هي -1 ، والمتغير الشامل errno سيتم تعيين للإشارة إلى الخطأ.
مهم: استخدم ال رجل أمر ( رجل٪ ) لمعرفة كيفية استخدام الأمر على جهاز الكمبيوتر الخاص بك.
اسم
execl ، execlp ، execle ، execv ، execvp - تنفيذ ملف
ملخص
#تتضمن extern char ** environ؛ int execl (const char * مسار ، شار كونك * ARG ، …) ؛ int execlp (const char * ملف ، شار كونك * ARG ، …) ؛ execle int (const char * مسار ، شار كونك * ARG ، … ، char * const envp )؛ int execv (const char * مسار ، char * const ARGV )؛ int execvp (const char * ملف ، char * const ARGV );