mc 命令在写入 stdout 时使用 --version 参数挂起,但在管道传输到 cat 时有效?

mc 命令在写入 stdout 时使用 --version 参数挂起,但在管道传输到 cat 时有效?

mc从命令行运行实用程序二进制文件(实际上是最近版本中的minio 客户端)时,我观察到了它的奇怪行为。

如果我只是像这样运行它./mc --version,该命令将永远挂起。即使 CTRL-C 也不会让我出去。

如果我像./mc --version | cat或 那样 运行它./mc --version | less,我可以让输出显示得很好。

运行时 我可以看到Stops atstrace ./mc --version的输出。stracewrite(1, "...")

这种行为可能存在什么问题?我怎样才能进一步调试这个?

我很确定这与它本身无关mc,而是与我们运行二进制文件的环境有关。

更奇怪的是,我很确定这在几周/几个月前就有效,没有任何管道cat或类似的东西。

相关内容