Fermandariya Linux / Unix: execvp

Nav

execel, execlp, execut, execv, execvp - pelê damezirandin

Synopsis

#include

extern char ** environ;

bicîhkirina pêvek ( rêkûpêk *, rêkêş * * arg , ...);
pêdivî ye ku pêdivî ye ( pelê * *, pelê * xerîb , ...);
int execul (rêk * riya *, çar çar * arg , ..., char * const envp []);
int execv ( rê-rê * , çar * const argv []);
pêdivî ye ku ( pelê * pel *, çar * const argv []);

Nirxandina fermandarê

Malbata darizandinên fonksiyonên pêvajoyê yên ku bi pêvajoyeke nû ve veguherîne veguherîne. Karên xebatên li vir têne rêvebirinê (2) ji bo pêş-endên têne.

Ji bo van fonksiyonên destpêkê rêberiya pelê ye ku ji bo darvekirinê ye.

Di çarçoveya darûvekirinê de , pêvek û darizandinên paşveçûyî û paşên paşê yên paşvebirin dikarin wekhev0 , arg1 , ..., argn . Bi hev de ew lîsteyeke yek an bêtir destnîşan dikin ku ji strateyên null-termînkirî yên ku lîsteya argumanê ve pêşkêşî bernameya darvekirinê tê pêşkêş dikin. Pêwîstiya yekem, bi kongreyê, divê navê navnîşa pelê ya ku bi darvekirinê ve girêdayî ye. Lîsteya armancên ji hêla nullek null ve bêne qedandin.

Karên darizandinê û darvekirina darvekirinê pêşkêş dikin ku rêzikên navnîşên null-termîn ên ku lîsteya argakêşê li ser bernameyeke nû pêşkêş dikin. Pêwîstiya yekem, bi kongreyê, divê navê navnîşa pelê ya ku bi darvekirinê ve girêdayî ye. Pêwîstvanên navnîşan ji hêla NULL ve vebirin.

Fonksiyonê darvekirina her weha enerjiyê ya pêvajoya darizandinê diyar dike ku di navnîşa NULL de lîsteya argûmetên lîsteya parameterê an jî pispor bi argv array bi parametek din re betal dike. Parametek din ev yek rêzikên navnîşan e ku ji pirtûka null-termînkirî ve ye û divê bi nîşkek NULL vekin. Karên din ên hawirdorê ji bo pêvajoyê ya nû ya pêvajoya nû ya wêneyê ji hawîrdirûguherîna derveyî ya derveyî drav.

Hin ji van fonksiyonên taybetî semantîk hene.

Fîlmên execlp û execvp dê pelê ya pelê lêgerîna gerîlêdana şîfreyê bikişîne eger navekî pelê navekî pisîk (/) nîşan nabe. Rêwira lêgerîn di rêgezê de di hawirgehê de ji hêla hawirdora PATH ve tê diyar kirin. Heke ku ev guherîn ne diyar e, riya default default ``: / bin: / usr / bin '' tê bikaranîn. Herweha, hin çewtiyên tedawî têne tedawî kirin.

Heke ku destûra ji bo pelê (hewldana hewldana hewldanê EACCES ve hatibû red kirin ) tê red kirin , ev fonksiyon dê rêyên din ên lêgerînê berdewam dewam bikin. Heke pelê din nehatiye dîtin, lêbelê, ew ê bi xeletên guherîner ên global ên EACCES vegerînin .

Heke serokê pelê nayê naskirin (hewldana hewldana ENOEXEC ve vegerand), dê van karkerên wê bi rêgeza yekemîn wek pelê xwe ya yekemîn ditînin. (Heke ev hewl nayê xistin, lê bêtir lêgerîn nehatiye kirin.)

Nirxê vegerin

Heke ji karên rêvebirin vegeriyan, çewtiyek çêbû. Nirxa nirxê -1-ê, û çewtên cîhêreng ên global dê bêne diyarkirin ku çewtiyê nîşan bidin.

Girîng: Mirovekî meriv ( % mêr ) bikar bînin ku hûn çawa dibînin ku emrê çawa di komputerê de tê bikaranîn.