Je cherche un moyen de déterminer si la fonction execvp a réussi ou échoué. Je sais que si elle retourne, elle a échoué, mais je cherche un cas dans lequel la commande lancée depuis execvp a échoué. Comme dans le cas où "ls" essaye de lister un dossier inexistant. A partir de là, je prévois d'ajouter un support pour les opérateurs logiques (par exemple & &, ||). Merci.Déterminez si l'exécutable a réussi ou échoué
else {
int status;
if (wait(&status) < 0) {
perror("wait failed");
exit(0);
}
if (status == 0) {
success = true;
}
else {
success = false;
}
}
Maintenant, j'ai ceci, à la fin de mes vérifications pour voir si la fourche a échoué. Mais je ne pense pas que je cherche la bonne information de statut. 'else if (c_pid> 0) { pid = waitpid (c_pid, & état, 0); if (pid == -1) {perror ("attente d'échec"); \t sortie (0); \t} if (état == 0) { \t succès = vrai; \t} succès = faux; /* if ((pid = attente (& état)) <0) { perror ("wait ..."); sortie (1); } */ } ' – xythyl
@xythyl Mettez à jour votre question avec votre code. Il est impossible de lire dans un commentaire. – dbush
Merci! Aussi, comment je correctement poster du code ici? Pour une raison quelconque, il ne contenait aucun formatage. – xythyl