विषय
कार्यकारी फ़ंक्शन का परिवार एक नई प्रक्रिया छवि के साथ वर्तमान प्रक्रिया छवि को बदलता है। यहां वर्णित फ़ंक्शन फ़ंक्शन के लिए फ्रंट-एंड हैंexecve(2).
इन कार्यों के लिए प्रारंभिक तर्क एक फ़ाइल का पथनाम है जिसे निष्पादित किया जाना है।
const char * arg और बाद में दीर्घवृत्तexecl, execlp, तथाexecle कार्यों के रूप में सोचा जा सकता हैarg0, ARG1, ..., argn। साथ में वे एक-एक या एक से अधिक पॉइंटर्स की एक सूची का वर्णन करते हैं जो शून्य-टर्मिनेटेड स्ट्रिंग्स हैं जो निष्पादित प्रोग्राम के लिए उपलब्ध तर्क सूची का प्रतिनिधित्व करते हैं। कन्वेंशन द्वारा, पहला तर्क, फ़ाइल के साथ जुड़े फ़ाइल नाम को इंगित करना चाहिए जिसे निष्पादित किया जा रहा है। तर्कों की सूचीजरूर द्वारा समाप्त किया जाना aशून्य सूचक।
execv तथाexecvp फ़ंक्शन नए-प्रोग्राम के लिए उपलब्ध तर्क सूची का प्रतिनिधित्व करने वाले अशक्त-समाप्त स्ट्रिंग्स को पॉइंटर्स की एक सरणी प्रदान करते हैं। कन्वेंशन द्वारा, पहला तर्क, फ़ाइल के साथ जुड़े फ़ाइल नाम को इंगित करना चाहिए जिसे निष्पादित किया जा रहा है। संकेत की सरणीजरूर द्वारा समाप्त किया जाना aशून्य सूचक।
execle फ़ंक्शन निम्नलिखित के द्वारा निष्पादित प्रक्रिया के वातावरण को भी निर्दिष्ट करता हैशून्यसूचक जो पैरामीटर सूची में तर्क की सूची को समाप्त करता है या एक अतिरिक्त पैरामीटर के साथ argv सरणी के लिए सूचक। यह अतिरिक्त पैरामीटर बिंदुओं की एक सरणी है जिसे अशक्त-समाप्त स्ट्रिंग्स औरजरूर द्वारा समाप्त किया जाना aशून्य सूचक। अन्य कार्य पर्यावरण को बाहरी चर से नई प्रक्रिया छवि के लिए लेते हैंघेरना वर्तमान प्रक्रिया में।
इनमें से कुछ कार्यों में विशेष शब्दार्थ हैं।
कार्य करता हैexeclp तथाexecvp एक निष्पादन योग्य फ़ाइल की खोज में शेल की क्रियाओं को डुप्लिकेट करेगा यदि निर्दिष्ट फ़ाइल नाम में स्लैश (/) वर्ण नहीं है। खोज पथ पर्यावरण द्वारा निर्दिष्ट पथ हैपथ चर। यदि यह चर निर्दिष्ट नहीं है, तो डिफ़ॉल्ट पथ ``: / बिन: / usr / बिन '' का उपयोग किया जाता है। इसके अलावा, कुछ त्रुटियों का विशेष रूप से इलाज किया जाता है।
यदि किसी फ़ाइल के लिए अनुमति देने से इनकार किया जाता है (प्रयास किया गया हैexecve लौटा हुआEACCES), ये कार्य बाकी खोज पथ को खोजना जारी रखेंगे। यदि कोई अन्य फ़ाइल नहीं मिली है, हालांकि, वे वैश्विक चर के साथ वापस आ जाएंगेerrno करने के लिए सेटEACCES.
यदि किसी फ़ाइल के हेडर को मान्यता नहीं है (प्रयास किया गया हैexecve लौटा हुआENOEXEC), ये फ़ंक्शन फ़ाइल के पथ के साथ शेल को पहले तर्क के रूप में निष्पादित करेगा। (यदि यह प्रयास विफल हो जाता है, तो आगे कोई खोज नहीं की जाती है)
प्रतिलाभ की मात्रा
यदि कोईकार्यकारी फ़ंक्शन देता है, एक त्रुटि हुई है। वापसी मान -1 है, और वैश्विक चरerrno त्रुटि दर्शाने के लिए सेट किया जाएगा।
उपयोगआदमी कमांड (% आदमी) यह देखने के लिए कि आपके विशेष कंप्यूटर पर एक कमांड का उपयोग कैसे किया जाता है।
नाम
निष्पादित, निष्पादित करें, निष्पादित करें, निष्पादित करें, निष्पादित करें - एक फ़ाइल निष्पादित करें
सार
#शामिल बाहरी चार ** environ; int execl (कास्ट चार *पथ, const char *आर्ग, ...); int execlp (कास्ट चार *फ़ाइल, const char *आर्ग, ...); int execle (कास्ट चार *पथ, const char *आर्ग , ..., चार * कास्टenvp[]); int execv (कास्ट चार *पथ, चार * कास्टargv[]); int execvp (कास्ट चार *फ़ाइल, चार * कास्टargv[]);