Software

Comando Linux / Unix 'execvp'

Autore: Robert Simon
Data Della Creazione: 22 Giugno 2021
Data Di Aggiornamento: 12 Maggio 2024
Anonim
EECS 338 - using execvp
Video: EECS 338 - using execvp

Contenuto

Ilexec la famiglia di funzioni sostituisce l'immagine di processo corrente con una nuova immagine di processo. Le funzioni qui descritte sono front-end per la funzioneexecve(2). 

L'argomento iniziale per queste funzioni è il percorso di un file che deve essere eseguito.

Ilconst char * arg e successive ellissi inexeclexeclp, eexecle le funzioni possono essere pensate comearg0arg1, ..., argn. Insieme descrivono un elenco di uno o più puntatori a stringhe con terminazione null che rappresentano l'elenco degli argomenti disponibile per il programma eseguito. Il primo argomento, per convenzione, dovrebbe puntare al nome del file associato al file in esecuzione. L'elenco degli argomentidovere essere terminato da aNULLO puntatore.


Ilexecv eexecvp le funzioni forniscono una matrice di puntatori a stringhe con terminazione null che rappresentano l'elenco degli argomenti disponibili per il nuovo programma. Il primo argomento, per convenzione, dovrebbe puntare al nome del file associato al file in esecuzione. La matrice di puntatoridovere essere terminato da aNULLO puntatore.

Ilexecle La funzione specifica anche l'ambiente del processo eseguito seguendo laNULLOpuntatore che termina l'elenco di argomenti nell'elenco dei parametri o il puntatore alla matrice argv con un parametro aggiuntivo. Questo parametro aggiuntivo è un array di puntatori a stringhe con terminazione null edovere essere terminato da aNULLO puntatore. Le altre funzioni prendono l'ambiente per la nuova immagine di processo dalla variabile esternaenviron nel processo attuale.

Alcune di queste funzioni hanno una semantica speciale.

Le funzioniexeclp eexecvp duplicherà le azioni della shell nella ricerca di un file eseguibile se il nome file specificato non contiene un carattere barra (/). Il percorso di ricerca è il percorso specificato nell'ambiente daSENTIERO variabile. Se questa variabile non viene specificata, viene utilizzato il percorso predefinito ``: / bin: / usr / bin ''. Inoltre, alcuni errori vengono trattati in modo speciale.


Se l'autorizzazione viene negata per un file (il tentativoexecve tornatoEACCES), queste funzioni continueranno a cercare il resto del percorso di ricerca. Se non viene trovato nessun altro file, tuttavia, torneranno con la variabile globaleerrno impostatoEACCES.

Se l'intestazione di un file non viene riconosciuta (il tentativoexecve tornatoENOEXEC), queste funzioni eseguiranno la shell con il percorso del file come primo argomento. (Se questo tentativo fallisce, non viene effettuata alcuna ulteriore ricerca.)

Valore di ritorno

Se uno deiexec ritorna funzioni, si è verificato un errore. Il valore restituito è -1 e la variabile globaleerrno sarà impostato per indicare l'errore.

Utilizzare iluomo comando (% uomo) per vedere come viene utilizzato un comando sul tuo particolare computer.

Nome

execl, execlp, execle, execv, execvp - esegue un file


Sinossi

#includere

carattere esterno **;

int execl (const char *sentiero, const char *arg, ...); int execlp (const char *file, const char *arg, ...); int execle (const char *sentiero, const char *arg , ..., char * constenvp[]); int execv (const char *sentiero, char * constargv[]); int execvp (const char *file, char * constargv[]);  

Popolare Sul Sito

Assicurati Di Guardare

Come installare un driver della stampante
Tehnologies

Come installare un driver della stampante

È poibile che la tampante abbia biogno di un driver pecializzato per riconocerlo da Window e, in rare occaioni, potrebbe eere neceario reintallare un driver della tampante. Queto può accade...
Come aggiungere adesivi alle foto
Software

Come aggiungere adesivi alle foto

L'aggiunta di adeivi alle tue foto può eere un modo penierato per aggiungere il tuo giro o il tuo commento a una foto che hai pubblicato. E c'è più di un modo per aggiungere ad...