por*_*ton 1 perl warnings runtime-error
升级到Perl 5.24.4后,我们在日志中反复出现此错误(不指向文件名和行号):
无法冲洗标准输出:管道损坏
我们不知道导致此错误的原因.
有什么建议如何理解错误的原因?
错误来自perl.c,第595行:
PerlIO_printf(PerlIO_stderr(), "Unable to flush stdout: %s",
Strerror(errno));
Run Code Online (Sandbox Code Playgroud)
这一行是其中的一部分perl_destruct,在程序结束时调用它来关闭perl解释器.
作为全局关闭过程的一部分,所有仍然打开的文件句柄都被刷新(即写出所有缓冲的输出).上面的评论说:
/* Need to flush since END blocks can produce output */
/* flush stdout separately, since we can identify it */
Run Code Online (Sandbox Code Playgroud)
错误消息未列出perldoc perldiag,这可能是文档错误.它可能被忽视了,因为它不是真实的warn或die电话,它只是有效的print STDERR $message.它与文件名或行号无关,因为它只在程序停止运行后发生(即在调用之后exit或因为执行从主脚本结束时掉落).
| 归档时间: |
|
| 查看次数: |
477 次 |
| 最近记录: |