gpt4 book ai didi

java - 拦截正在运行的 Java 程序的输出

转载 作者:行者123 更新时间:2023-11-30 05:55:00 25 4
gpt4 key购买 nike

是否可以从已运行的 Java 程序中获取/拦截输出?

这是我的情况:我正在运行一个需要几个小时才能完成的程序。所以我启动它,让计算机完成它的工作。我可以使用 SSH 登录运行该程序的计算机并查看它使用 ps 运行,但我想拦截写入控制台的输出。

有什么办法吗?

我需要提供额外的信息吗?

最佳答案

screen session 中启动应用程序,从 session 中分离,稍后您可以通过 ssh 登录并重新连接以查看进度。这是关于 using screen 的一些信息.

另一种选择是将标准输出和标准错误重定向到一个文件,并使用类似tail 的东西来查看它的内容。示例:my_program &>/tmp/output

好吧,我刚刚意识到我有点跑题了,因为我处理过你必须提前思考的案例。现在,如果您想从正在运行的进程中获取它,您可以使用 gdb

gdb -p process_id
(gdb) p close(1)
$1 = 0
(gdb) p creat(“/tmp/output″, 0600)
$2 = 1
(gdb) q

这会将输出放入 /tmp/output,您可以使用 tail 以交互方式查看它。

关于java - 拦截正在运行的 Java 程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8773985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com