Rediriger STDOUT et STDERR de socket en C?

Je suis en train de rediriger STDOUT ET STDERR dans un socket.

J'ai fait:

if(fork() == 0)
{
   dup2(newsock, STDOUT_FILENO);
   dup2(newsock, STDERR_FILENO);
   execvp();
}

En quelque sorte, il n'a montré la première partie de la sortie.

par exemple, il a montré sur "mkdir" quand j'essaie d'exécuter ls ou mkdir.

Quel est le problème?

J'ai essayé le flollowing il fonctionne, mais je ne peux rediriger l'un des STDOUT ou STDERR

close(1);
dup(newsock);

Merci beaucoup.

pourriez-vous svp m'aider sur ce point? merci!

OriginalL'auteur JJ Liu | 2011-11-11