void NormalPart(int sockets[2]) { close(sockets[1]); char buffer[255] = {0}; while (read(sockets[0], buffer, 255) > 0); close(sockets[0]); }
void ForkPart(int sockets[2]) { sigset_t sigs; sigemptyset(&sigs); sigprocmask(SIG_SETMASK,&sigs,0); close(sockets[0]); int null = open("/dev/null", O_RDWR); if (null != -1 && dup2(null, STDOUT_FILENO) != -1 && dup2(null, STDERR_FILENO) != -1 && dup2(null, STDIN_FILENO) != -1 && dup2(sockets[1], 3) != -1) { ....... close(null); write(sockets[1], "test", 5); //работает write(3, "test", 5); //не работает close(sockets[1]); } _exit(127); } Буду благодарен за любые комментарии...