• [^] # Re: Impossible

    Posté par . En réponse au message Communication entre processus avec pipe() et dup2().. Évalué à 2.

    Qu'est-ce qui vous fait dire ça ?

    En fait, vous avez raison, j'ai confondu avec la famille des exec().

    Le premier argument de execve est par convention le nom du programme.

    J'ai exhumé ceci:

     /* Child side. */
     # SHELL_NAME vaut "sh"
     # SHELL_PATH vaut "/bin/sh"
     const char *new_argv[1];
     new_argv[0] = SHELL_NAME;
     new_argv[1] = NULL;
     [...] 
     /* Exec the shell. */
     execve (SHELL_PATH, (char *const*) new_argv, __environ);
     /* NOT FOUND */
     exit (127);

    Je me demande si le fonctionnement n'est pas différent sous FreeBSD.