Content
Elexecutar La família de funcions substitueix la imatge de procés actual per una imatge de procés nova. Les funcions aquí descrites són front-ends per a la funcióexecutar(2).
L’argument inicial d’aquestes funcions és el nom de ruta d’un fitxer que s’ha d’executar.
Elconst char * arg i el·lipses posteriors a la seccióexecl, execlp, iexecutar es pot pensar en funcionsarg0, arg1, ..., argn. Junts descriuen una llista d’un o més punters a cadenes amb terminis nuls que representen la llista d’arguments disponibles al programa executat. El primer argument, per convenció, hauria d’assenyalar el nom del fitxer associat amb el fitxer que s’executa. La llista d’argumentshaver de acabar amb unaNUL punter.
Elexecv iexecvp Les funcions ofereixen una matriu de punters per a cadenes amb terminacions nul·les que representen la llista d’arguments disponibles per al nou programa. El primer argument, per convenció, hauria d’assenyalar el nom del fitxer associat amb el fitxer que s’executa. La matriu de puntershaver de acabar amb unaNUL punter.
Elexecutar la funció també especifica l’entorn del procés executat seguint el següentNULpunter que finalitza la llista d'arguments de la llista de paràmetres o el punter a la matriu d'argv amb un paràmetre addicional. Aquest paràmetre addicional és una matriu de punters a les cadenes i a les terminacions nul·leshaver de acabar amb unaNUL punter. Les altres funcions prenen l'entorn per a la nova imatge de procés de la variable externamedi ambient en el procés actual.
Algunes d’aquestes funcions tenen semàntica especial.
Les funcionsexeclp iexecvp duplicarà les accions del shell per cercar un fitxer executable si el nom de fitxer especificat no conté un caràcter slash (/). El camí de cerca és el camí especificat a l’entorn per laCAMÍ variable. Si no s'especifica aquesta variable, s'utilitza la ruta predeterminada ``: / bin: / usr / bin ''. A més, certs errors són tractats especialment.
Si es denega el permís per a un fitxer (intentatexecutar va tornarEACCES), aquestes funcions continuaran cercant a la resta de la ruta de cerca. Si no es troba cap altre fitxer, però, tornaran amb la variable globalerrno ajustat aEACCES.
Si no es reconeix la capçalera d’un fitxer (s’intentaexecutar va tornarENOEXEC), aquestes funcions executaran el shell amb la ruta del fitxer com a primer argument. (Si aquest intent falla, no hi ha cap altra cerca).
Valor de rendibilitat
Si és alguna de lesexecutar torna a les funcions, s'ha produït un error. El valor de retorn és -1 i la variable globalerrno s'establirà per indicar l'error.
Utilitzar elhome comandament (% home) per veure com s'utilitza una ordre en el vostre equip particular.
Nom
execl, execlp, execle, execv, execvp - executeu un fitxer
Sinopsi
#incloure char extern ** ambient; int execl (const char *Camí, const char *arg, ...); int execlp (const char *dossier, const char *arg, ...); int execle (const char *Camí, const char *arg , ..., char * constenvp[]); int execv (const char *Camí, char * constargv[]); int execvp (const char *dossier, char * constargv[]);