int main () {
// tenter de remplacer le processus actuel par "ls -l"
if (eeclp ("ls", "ls", "-l", null) ==-1) {
// n'atteignez ceci que si execlp échoue
perror ("execlp a échoué");
retour 1;
}
// Cette ligne ne sera jamais atteinte
printf ("Ceci ne sera jamais imprimé. \ n");
retour 0;
}
`` '
Pourquoi `EXEC` est utile
* Efficacité: Il évite les frais généraux de la création d'un nouveau processus et de la gestion de son espace mémoire.
* Contrôle direct: Fournit un mécanisme pour un processus pour passer de manière transparente à un autre programme.
points clés
* `EXEC` Variants (` EXECL`, `EXECV`,` EXECLP`, `EXECVP`) ont tous le même comportement en termes de valeurs de retour.
* Si `EXEC` échoue (par exemple, le fichier n'est pas trouvé, problèmes d'autorisation), il renvoie` -1` et définit `errno` pour indiquer l'erreur.
* Pour que un programme en exécute un autre, puis continuez, vous devez utiliser «Fork» pour créer un processus d'enfant avant d'appeler «Exec» chez l'enfant.
Faites-moi savoir si vous avez d'autres questions sur «Exec» ou les processus dans UNIX!