从Java启动外部进程:stdout和stderr

安德烈

我正在使用standard从Java启动一个外部进程java.lang.Process我试图弄清楚该过程的输出是什么,但采用结合了stdout的格式stderr

目前,我拥有的Process#getInputStream访问权限stdoutProcess#getErrorStream提供的访问权限stderr一切都很好,除了我们无法按时间戳区分stdout和stderr的输出。

假设该过程具有以下输出:

  • 一行(A)写入标准输出
  • 一行(B)写入stderr
  • 一行(C)写入标准输出

Java不允许我们知道(B)行是在(A)之后还是(C)之前编写的。我想知道是否有任何方法可以合并外部进程的stdout和stderr,以便我们知道按哪个顺序将语句打印到输出。

肖恩·帕特里克·弗洛伊德(Sean Patrick Floyd)

如果使用ProcessBuilderAPI而不是普通的Runtime.exec(),则可以重定向Output和Error流,包括将它们重定向到同一流。

ProcessBuilder pb =
  new ProcessBuilder("myCommand", "myArg1", "myArg2");
pb.redirectErrorStream(true); // merges err with out
pb.redirectOutput(Redirect.appendTo(new File("out.txt")));
Process p = pb.start();
p.waitFor();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Perl捕获子进程的STDERR和STDOUT

来自分类Dev

Python子进程抑制stdout和stderr

来自分类Dev

查看给定进程ID的进程的stderr和stdout

来自分类Dev

如何正确启动进程并转发stdin / stdout / stderr?

来自分类Dev

如何使子进程按顺序获取stdout和stderr?

来自分类Dev

在屏幕上启动程序时记录stdout和stderr

来自分类Dev

macOS:如何使用终端重定向启动后的进程的STDERR / STDOUT?

来自分类Dev

如何运行Python子进程和流,还可以过滤stdout和stderr?

来自分类Dev

Node.js中的子进程stdout和stderr列大小

来自分类Dev

我注销时后台进程stdout和stderr会发生什么?

来自分类Dev

在Erlang中,如何独立捕获子进程的stdout和stderr?

来自分类Dev

我可以在2个单独的终端窗口中查看进程的stdout和stderr吗?

来自分类Dev

文件和控制台中具有stdOut / StdErr输出的后台进程

来自分类Dev

如何使用子进程Popen读取stdout和stderr并将其全部保存?

来自分类Dev

Node.js中的子进程stdout和stderr列大小

来自分类Dev

在我的Django应用中访问Celery的子进程stdout和stderr

来自分类Dev

Python 函数将子进程 stdout 和 stderr 捕获到日志文件

来自分类Dev

如何使用 Haskell 海龟从进程中捕获 stdout 和 stderr 输出?

来自分类Dev

“ 3向” Python子进程管道:将stdout和stderr发送到两个不同的进程?

来自分类Dev

“ 3向” Python子进程管道:将stdout和stderr发送到两个不同的进程?

来自分类Dev

Bash脚本stderr和stdout

来自分类Dev

写入 stdout 和 stderr 的命令

来自分类Dev

如何正确启动程序并在以后的阶段重定向其运行输出(stdout和stderr)?

来自分类Dev

Spotify docker 客户端:如何获取已启动容器的 stdout 和 stderr?

来自分类Dev

python:没有外部命令的fork,并分别捕获stdout和stderr

来自分类常见问题

将nginx access_log和error_log日志记录到主进程的STDOUT和STDERR

来自分类Dev

如果创建,Python子进程stderr / stdout字段为None

来自分类Dev

将子进程的stdout / stderr重定向到文件

来自分类Dev

使用stdout / stderr以外的管道与子进程进行通信

Related 相关文章

  1. 1

    Perl捕获子进程的STDERR和STDOUT

  2. 2

    Python子进程抑制stdout和stderr

  3. 3

    查看给定进程ID的进程的stderr和stdout

  4. 4

    如何正确启动进程并转发stdin / stdout / stderr?

  5. 5

    如何使子进程按顺序获取stdout和stderr?

  6. 6

    在屏幕上启动程序时记录stdout和stderr

  7. 7

    macOS:如何使用终端重定向启动后的进程的STDERR / STDOUT?

  8. 8

    如何运行Python子进程和流,还可以过滤stdout和stderr?

  9. 9

    Node.js中的子进程stdout和stderr列大小

  10. 10

    我注销时后台进程stdout和stderr会发生什么?

  11. 11

    在Erlang中,如何独立捕获子进程的stdout和stderr?

  12. 12

    我可以在2个单独的终端窗口中查看进程的stdout和stderr吗?

  13. 13

    文件和控制台中具有stdOut / StdErr输出的后台进程

  14. 14

    如何使用子进程Popen读取stdout和stderr并将其全部保存?

  15. 15

    Node.js中的子进程stdout和stderr列大小

  16. 16

    在我的Django应用中访问Celery的子进程stdout和stderr

  17. 17

    Python 函数将子进程 stdout 和 stderr 捕获到日志文件

  18. 18

    如何使用 Haskell 海龟从进程中捕获 stdout 和 stderr 输出?

  19. 19

    “ 3向” Python子进程管道:将stdout和stderr发送到两个不同的进程?

  20. 20

    “ 3向” Python子进程管道:将stdout和stderr发送到两个不同的进程?

  21. 21

    Bash脚本stderr和stdout

  22. 22

    写入 stdout 和 stderr 的命令

  23. 23

    如何正确启动程序并在以后的阶段重定向其运行输出(stdout和stderr)?

  24. 24

    Spotify docker 客户端:如何获取已启动容器的 stdout 和 stderr?

  25. 25

    python:没有外部命令的fork,并分别捕获stdout和stderr

  26. 26

    将nginx access_log和error_log日志记录到主进程的STDOUT和STDERR

  27. 27

    如果创建,Python子进程stderr / stdout字段为None

  28. 28

    将子进程的stdout / stderr重定向到文件

  29. 29

    使用stdout / stderr以外的管道与子进程进行通信

热门标签

归档