【发布时间】:2018-08-27 18:43:15
【问题描述】:
在 Redhat 操作系统上,我有一个启动 Java 程序的脚本。此脚本可以从命令行启动,但也由 crontab 启动(定期)。
在这个程序中,我需要知道程序是如何启动的。这是因为输出被写入 STDOUT(如果从命令行启动)或日志文件(如果由 crontab 启动)。
首先我认为我可以使用System.console()。
问题是,如果程序是从命令行启动但重定向了 STDIN 和/或 STDOUT,此方法也会返回 null。
知道如何解决这个问题吗?
我试过How can I check if a Java program's input/output streams are connected to a terminal?,但这并没有回答我的问题。
【问题讨论】: