我从 APUE 得到了这个代码片段,
if (dup2(clfd, STDOUT_FILENO) != STDOUT_FILENO ||
dup2(clfd, STDERR_FILENO) != STDERR_FILENO) {
syslog(LOG_ERR, "ruptimed: unexpected error");
exit(1);
}
这会将所有输出、stderr 和 stdout 重定向到远程套接字,该套接字可通过 clfd 写入。
但那怎么行呢?您将两个 FD 重定向到一个。