【发布时间】:2013-08-22 16:57:26
【问题描述】:
我有一套 Java 程序,在我们的 Linux 服务器上用作命令行工具。他们中的大多数使用一个在 STDERR 上打印进度条的类,类似于 Perl 的Term::ProgressBar。
我希望在 STDERR 进入终端时显示进度条,并在 STDERR 被重定向时自动禁用自身,这样重定向数据中就不会出现各种进度条片段。
检查System.console() == null 是我的第一个想法,但重定向STDOUT 足以使true,即使STDERR 仍在终端。有什么我可以检查的特定于 STDERR 的吗?特定于 Linux 或使用本机 API 的解决方案可以满足我的需求。
【问题讨论】:
-
@UberDoyle 我不是在问是否要使用 Java 启动另一个进程。我想知道当前进程的STDERR是否被重定向。
标签: java linux command-line-interface stderr io-redirection