从另一个Java应用程序查看正在运行的Java程序的控制台输出

从另一个Java应用程序查看正在运行的Java程序的控制台输出,java,service,console,Java,Service,Console,我有一个用Java编写的程序,您希望将其配置为操作系统服务。程序读取套接字接收的数据,套接字处理并存储数据。它还记录错误,并最终始终在控制台中打印信息流,以观察其操作 将其设置为服务后,出现了一种需求 如果应用程序在后台,因此控制台未打开,如何在控制台中查看打印活动 有没有办法查看该应用程序的控制台输出 我突然想到,如果可以创建另一个Java应用程序来读取和打印所创建服务的控制台输出。这能解决问题吗?非常感谢您的评论,在仔细研究之后,根据您的建议,我开发了一个通过套接字的IPC通信系统,其中,s

我有一个用Java编写的程序,您希望将其配置为操作系统服务。程序读取套接字接收的数据,套接字处理并存储数据。它还记录错误,并最终始终在控制台中打印信息流,以观察其操作

将其设置为服务后,出现了一种需求

如果应用程序在后台,因此控制台未打开,如何在控制台中查看打印活动

有没有办法查看该应用程序的控制台输出


我突然想到,如果可以创建另一个Java应用程序来读取和打印所创建服务的控制台输出。这能解决问题吗?

非常感谢您的评论,在仔细研究之后,根据您的建议,我开发了一个通过套接字的IPC通信系统,其中,swing应用程序连接到服务,每2秒钟请求一次所需信息和应用程序中的示例

这实际上是一个操作系统问题,而不是Java问题。通常,只有启动应用程序的进程才能读取其标准输出。对于服务,希望启动服务的操作系统功能也使用一些您可能会挂入的日志记录。否则,您将不得不使用其他形式的IPC(例如unix上的命名管道)如何使用日志框架(,等等,如果您想切换日志实现,可以使用),而不是编写到
stdout
?虽然您可以发布您自己问题的答案,这个答案对于将来有类似问题的访问者来说是没有用的。你能进一步澄清这一点吗?