在我的 linux 机器上,我有一个进程在后台运行。我有这个进程的进程 ID。我想通过 java 读取这个进程的流输出。 命令:
nohup sar -A 1 >/dev/null 2>&1 &
我将输出重定向到/dev/null 即不会创建 nohup.out。
最佳答案
您不能使用 nohup
并拥有输出流。
来自 nohup --help
:
If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise.
因此,要么放弃使用 nohup
并使用 Process
的 outputStream,要么必须从文件中读取。
显然,在这两种情况下,您还必须停止将命令的输出重定向到 /dev/null
,但您可以将其重定向到您选择的文件或让 nohup
使用它的默认输出文件。
关于java - 如何通过java读取linux后台进程流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38074772/