Skip to main content

Viss par Linux / Unix komandu: execvp

Anonim

Theexec funkciju grupa aizstāj pašreizējo procesa attēlu ar jaunu procesa attēlu. Šeit aprakstītās funkcijas ir funkcijas priekšpusēizpildīt(2).

Sākotnējais arguments par šīm funkcijām ir faila nosaukums, kas izpildāms.

The const char * arg un sekojošie elipsiexecl, execlp, unexecle funkcijas var uzskatīt par arg0 , arg1 , …, argn . Kopā tie apraksta sarakstu ar vienu vai vairākiem norādēm uz null-izbeigtām virknes, kas pārstāv izpildīto programmu pieejamo argumentu sarakstu. Pirmajam argumentam, pēc vienošanās, jānorāda faila nosaukums, kas saistīts ar izpildāmo failu. Argumentu saraksts jābūt var izbeigt arNULL rādītājs

Theexecv unexecvp funkcijas nodrošina virkni norādes uz null-izbeigtām virknēm, kas pārstāv jauno programmu pieejamo argumentu sarakstu. Pirmajam argumentam, pēc vienošanās, jānorāda faila nosaukums, kas saistīts ar izpildāmo failu. Indikatoru masīvs jābūt var izbeigt arNULL rādītājs

Theexecle funkcija arī nosaka izpildītā procesa vidi, izpildotNULLrādītājs, kas pārtrauc argumentu sarakstu parametru sarakstā vai rādītāju argv masīvam ar papildu parametru. Šis papildu parametrs ir virkne norādes uz null-izbeigtām virknes un jābūt var izbeigt arNULL rādītājs Pārējās funkcijas uzņem jaunās procesa attēla vidi no ārējā mainīgā vide pašreizējā procesā.

Dažām no šīm funkcijām ir īpaša semantika.

Funkcijasexeclp unexecvp dublēs čaulas darbības, meklējot izpildāmo failu, ja norādītais faila nosaukums nesatur slīpsvītru (/) rakstzīmi. Meklēšanas ceļš ir ceļš, ko vidē norādījisPATH mainīgais. Ja šis mainīgais nav norādīts, tiek izmantots noklusējuma ceļš ``: / bin: / usr / bin ''. Turklāt atsevišķas kļūdas tiek apstrādātas speciāli.

Ja failam tiek liegta atļauja (mēģinājumsizpildīt atgriezāsEACCES), šīs funkcijas turpinās meklēt pārējo meklēšanas ceļu. Tomēr, ja neviens cits fails netiek atrasts, tas atgriezīsies ar globālo mainīgo errno iestatīts uzEACCES.

Ja faila galvene netiek atpazīta (mēģinājumsizpildīt atgriezāsENOEXEC), šīs funkcijas izpildīs čaulu ar faila ceļu kā pirmo argumentu. (Ja šis mēģinājums neizdodas, netiek veikta turpmāka meklēšana.)

Atgriešanās vērtība

Ja kāds noexec funkcija atgriež, radusies kļūda. Atgriešanās vērtība ir -1, un globālais mainīgais errno tiks iestatīts, lai norādītu kļūdu.

Svarīgs: Izmantojiet cilvēks komanda ( % cilvēks ), lai redzētu, kā komanda tiek izmantota jūsu konkrētajā datorā.

Nosaukums

execl, execlp, execle, execv, execvp - izpildīt failu

Kopsavilkums

#include

extern char ** environ;

int execl (const char * ceļš , const char * arg , …); int execlp (const char * fails , const char * arg , …); int execle (const char * ceļš , const char * arg , …, char * const envp ); int execv (const char * ceļš , char * const argv ); int execvp (const char * fails , char * const argv );