Skip to main content

Execl - लिनक्स कमांड - यूनिक्स कमांड

Week 4 (जून 2026)

Week 4 (जून 2026)
Anonim

नाम: execl, execlp, execle, execv, execvp - एक फ़ाइल निष्पादित करें

सार

#शामिल बाहरी चार ** पर्यावरण; int execl (const char * पथ, const char * arg, …);int execlp (कॉन्स char * फ़ाइल, कॉन्स char * arg, …);int execle (कॉन्स चार * पथ, कॉन्स char * arg, …, char * const envp );int execv (const char * पथ, char * const argv );int execvp (कॉन्स char * फ़ाइल, char * const argv );

विवरण

कार्यकारी कार्यों का परिवार वर्तमान प्रक्रिया छवि को एक नई प्रक्रिया छवि के साथ बदल देता है। इस मैनुअल पेज में वर्णित फ़ंक्शन फ़ंक्शन के लिए फ्रंट-एंड हैंexecve(2)। इन कार्यों के लिए प्रारंभिक तर्क एक फ़ाइल का पथनाम है जिसे निष्पादित किया जाना है।

कॉन्स चार * तर्क और बाद में अंडाकारों मेंexecl, execlp, तथाexecleकार्यों के बारे में सोचा जा सकता है arg0 , ARG1 , …, argn । साथ में वे निष्पादित कार्यक्रम में उपलब्ध तर्क सूची का प्रतिनिधित्व करने वाले नल-टर्मिनेटेड स्ट्रिंग्स के लिए एक या अधिक पॉइंटर्स की एक सूची का वर्णन करते हैं। सम्मेलन द्वारा पहला तर्क, निष्पादित फ़ाइल से जुड़े फ़ाइल नाम को इंगित करना चाहिए। तर्कों की सूची जरूर एक द्वारा समाप्त किया जाना चाहिएशून्य सूचक।

execv तथाexecvp फ़ंक्शन नल-टर्मिनेटेड तारों के लिए पॉइंटर्स की एक सरणी प्रदान करते हैं जो नए प्रोग्राम के लिए उपलब्ध तर्क सूची का प्रतिनिधित्व करते हैं। सम्मेलन द्वारा पहला तर्क, निष्पादित फ़ाइल से जुड़े फ़ाइल नाम को इंगित करना चाहिए। पॉइंटर्स की सरणी को समाप्त कर दिया जाना चाहिएशून्य सूचक।

execle कार्य निष्पादित प्रक्रिया के पर्यावरण को भी पालन करके निर्दिष्ट करता हैशून्य सूचक जो पैरामीटर सूची में तर्कों की सूची को समाप्त करता है या अतिरिक्त पैरामीटर के साथ argv सरणी में सूचक को समाप्त करता है। यह अतिरिक्त पैरामीटर पॉइंटर्स की एक सरणी है जिसे नल-टर्मिनेटेड स्ट्रिंग्स और जरूर एक द्वारा समाप्त किया जाना चाहिएशून्य सूचक। अन्य कार्य बाहरी चर से नई प्रक्रिया छवि के लिए पर्यावरण लेते हैं घेरना वर्तमान प्रक्रिया में।

इनमें से कुछ कार्यों में विशेष अर्थशास्त्र है।

कार्यexeclp तथाexecvp यदि निर्दिष्ट फ़ाइल नाम में स्लैश (/) वर्ण नहीं है तो निष्पादन योग्य फ़ाइल की खोज में खोल के कार्यों को डुप्लिकेट करेगा। खोज पथ पर्यावरण में निर्दिष्ट पथ हैपथ चर। यदि यह चर निर्दिष्ट नहीं है, तो डिफ़ॉल्ट पथ ``: / bin: / usr / bin '' का प्रयोग किया जाता है। इसके अलावा, कुछ त्रुटियों का विशेष रूप से इलाज किया जाता है।

अगर फ़ाइल के लिए अनुमति अस्वीकार कर दी गई है (प्रयास किया गयाexecve लौटा हुआEACCES), ये फ़ंक्शंस शेष खोज पथ को खोजना जारी रखेंगे। यदि कोई अन्य फ़ाइल नहीं मिली है, हालांकि, वे वैश्विक चर के साथ वापस आ जाएंगे errno करने के लिए सेटEACCES.

अगर फ़ाइल का शीर्षलेख पहचाना नहीं गया है (प्रयास किया गयाexecve लौटा हुआENOEXEC), ये फ़ंक्शन फ़ाइल के पथ के साथ खोल को अंतिम तर्क के रूप में निष्पादित करेंगे। (यदि यह प्रयास विफल रहता है, तो कोई और खोज नहीं की जाती है।)

प्रतिलाभ की मात्रा

यदि इनमें से कोई भी हैकार्यकारी फ़ंक्शन रिटर्न, एक त्रुटि हुई होगी। वापसी मूल्य -1 है, और वैश्विक चर errno त्रुटि को इंगित करने के लिए सेट किया जाएगा।