如何通过java读取linux后台进程流?

时间:2016-06-28 11:18:16

标签: java linux streaming

在我的linux机器上我有一个在后台运行的进程。我有这个进程的进程ID。我想通过java读取这个进程的流输出。 命令:

nohup sar -A 1 >/dev/null 2>&1 &

我将输出重定向到/ dev / null,即不会创建nohup.out。

1 个答案:

答案 0 :(得分:0)

您无法使用nohup并拥有输出流。

来自nohup --help

  

如果标准输出是终端,请将输出附加到' nohup.out'如果可能的话,   ' $ HOME /的nohup.out'否则。

因此,您可以放弃使用nohup,也可以使用Process的outputStream,或者必须从文件中读取。

显然,在这两种情况下,您还必须停止将命令输出重定向到/dev/null,但您可以将其重定向到您选择的文件,或让nohup使用其默认输出文件。