Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在Linux中使用tee()函数时确定读取器已关闭_C_Linux - Fatal编程技术网

C 在Linux中使用tee()函数时确定读取器已关闭

C 在Linux中使用tee()函数时确定读取器已关闭,c,linux,C,Linux,当使用系统调用将数据从一个管道移动到另一个管道时,如果输入管道上的写入程序关闭,它将返回0,但如何识别输出管道上的读卡器是否已关闭?对于后代,答案似乎是tee()将返回-1表示错误,将errno设置为EPIPE时,管道的读取器已将其关闭,即使手册页中未对此进行记录。相应地,将生成一个SIGPIPE,因此如果您重视程序继续执行,请确保正确处理它。处理SIGPIPE的另一种方法是忽略它;然后,与write()相关的调用返回一个错误,并指出errno设置为EPIPE的问题。如果tee()。

当使用系统调用将数据从一个管道移动到另一个管道时,如果输入管道上的写入程序关闭,它将返回0,但如何识别输出管道上的读卡器是否已关闭?

对于后代,答案似乎是
tee()
将返回-1表示错误,将
errno
设置为EPIPE时,管道的读取器已将其关闭,即使手册页中未对此进行记录。相应地,将生成一个SIGPIPE,因此如果您重视程序继续执行,请确保正确处理它。

处理SIGPIPE的另一种方法是忽略它;然后,与
write()
相关的调用返回一个错误,并指出
errno
设置为EPIPE的问题。如果
tee()。