लिनक्स आदेश - कार्यान्वयन सिक्नुहोस्

नाम: कार्यान्वयन, कार्यान्वयन, कार्यान्वयन, कार्यान्वयन, कार्यान्वयन गर्नुहोस् - फाइल निष्पादित गर्नुहोस्

सारांश

# समावेश गर्नुहोस्

extern char ** environ;

int execl (const char * path , const char * arg , ...);
int execlp (const char * फाइल , const char * arg , ...);
int निष्पादन (const char * path , const char * arg , ..., char * const envp []);
int execv (const char * path , char * const argv []);
int execvp (const char * फाइल , char * const argv []);

विवरण

कार्यका कार्यान्वयन परिवारले हालको प्रक्रिया छविलाई नयाँ प्रक्रिया छविको साथ बदल्छ। यो म्यानुअल पृष्ठमा वर्णन गरिएको कार्य प्रकार्य कार्यान्वयनका लागि अगाडि-अन्त्य हुन् (2)। यी प्रकार्यहरूका लागि प्रारम्भिक बहस निष्पादित गर्ने फाइलको पथनाम हो।

Const char * argexeclp कार्यान्वयनकालागिअधिकतरसङ्केतनकार्यकालागि arg0 , arg1 , ..., argn को रूपमा सोच्न सकिन्छ। एकसाथ उनीहरूले एक वा बढी पोइन्टहरूको सूचीलाई निलम्बित स्ट्रिंगमा सूचीबद्ध गर्ने सूचीबद्ध कार्य सूचीमा उपलब्ध तर्क सूची को प्रतिनिधित्व गर्दछ। पहिलो तर्क, अधिवेशनद्वारा, फाईल निष्पादित फाइलसँग सम्बन्धित फाइल नाममा हुनुपर्दछ। आर्गुमेन्टहरूको सूची NULL पङ्क्तिद्वारा समाप्त हुनुपर्छ

कार्यान्वयनकार्यान्वयन प्रकार्यहरूले अङ्कको array प्रदान गर्दछ जुन निलम्बन गरिएका स्ट्रिंगमा नयाँ कार्यक्रममा उपलब्ध तर्क सूची प्रतिनिधित्व गर्दछ। पहिलो तर्क, अधिवेशनद्वारा, फाईल निष्पादित फाइलसँग सम्बन्धित फाइल नाममा हुनुपर्दछ। पोइन्टको सरणी एक NULL सूचक द्वारा समाप्त हुनु पर्छ।

निष्पादन प्रकार्यले पनि निष्पादित प्रक्रियाको वातावरणलाई NULL सूचक पछ्याएर निर्दिष्ट गर्दछ जसले आर्गुमेन्ट सूचीमा तर्कहरूको सूची वा सूचकलाई अतिरिक्त प्यारामिटरसँग argv array मा बन्द गर्दछ। यो अतिरिक्त प्यारामिटर पोष्टहरूको सङ्कलन निलम्बन गरिएका स्ट्रिंगमा छ र एक NULL सूचक द्वारा समाप्त हुनुपर्छ । अन्य प्रकार्यहरूले नयाँ प्रक्रिया छविको लागि वातावरणलाई बाह्य चर वातावरणबाट हालको प्रक्रियामा लिन्छ।

यी केही प्रकार्यहरूसँग विशेष अर्थशास्त्र छन्।

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

यदि फाइलको लागि अनुमति अस्वीकार गरिएको छ भने (प्रयास गरिएको कार्य EACCES फर्काइएको छ), यी प्रकार्यहरूले खोज खोजी मार्गको खोजी जारी राख्नेछन्। यदि कुनै अन्य फाईल फेला परेन भने, तिनीहरू वैश्विक चर अज्ञात सेट EACCES मा फर्कनेछन्

यदि फाइलको हेडरलाई मान्यता छैन भने (प्रयास गरियो कार्यान्वयन ENOEXEC फर्काइएको छ), यी प्रकार्यले फाइलको पथसँग यसको पहिलो तर्कको रूपमा शेल कार्यान्वयन गर्नेछ। (यदि यो प्रयास असफल भएमा, कुनै खोजी खोजिएको छैन।)

फिर्ता मूल्य

यदि कुनै कार्य कार्य फर्काउँछ भने, एउटा त्रुटी उत्पन्न हुनेछ। फिर्ती मान -1 हो, र ग्लोबल चर अर्गनो त्रुटि संकेत गर्न सेट गरिनेछ।