Considerate questo frammento di codice:come uscire da un processo figlio - _exit() vs. uscita
pid_t cpid = fork();
if (cpid == -1) {
perror("fork");
exit(EXIT_FAILURE);
}
if (cpid == 0) { // in child
execvp(argv[1], argv + 1);
perror("execvp");
_exit(EXIT_FAILURE);
}
// in parent
Come farò a uscire dal processo figlio se i rendimenti execvp? Devo usare exit() o _exit()?
+1 Si desidera che il processo figlio non riuscito esca quietamente come se non fosse mai stato creato. –
Poichè il vecchio standard C consentiva al linker di risolvere senza distinzione tra maiuscole e minuscole _Exit() non può essere una funzione di libreria standard in quanto sarebbe in conflitto con il più vecchio _exit(). Scusate. – Joshua
Al contrario. _Exit (3) è una libreria C standard (ISO C99). _exit (2) è una chiamata di sistema POSIX.1 e non uno standard C. –