怎样在一个java程序中获得另一个程序的运行状态

2024-10-22 15:43:19
推荐回答(3个)
回答1:

这个问题比较普遍,有多种不同的解决方法。
比较常用的,就是在B程序中添加Log文件机制,随时记录B程序的执行状态,或者只记录B程序捕捉到的异常,A程序需要查看B程序执行状态的时候就读取B的log文件,进行分析。
另一种方法是通过B程序的结束返回代码来判断B的退出原因。任何一种编程语言都提供程序返回代码,比如java的System.exit(code)、C#的Environment.Exit(code)等等,其中的code是一个整数,表明了程序退出的时候是正常退出还是异常退出。只需要在A程序中判断这个值就能知道B程序是因为什么退出的。
第三种方法是通过第三方的脚本语言(比如TCL、Python)来分别执行A程序和B程序并监控两个程序的状态,并且可以把两个程序做成模块化来调用执行。这种方法最强大,也最灵活,能够解决两个程序运行时候的互锁等问题,但是也最复杂。

根据你的情况,第二种方法最合适。

回答2:

  1. 在另一个程序写输出语句,执行到不同的代码段,输出不同的语句。

  2. 在被监听的程序中,利用Java的网络编程,进行通信。看看Java网络编程,很easy。

回答3:

用一个静态变量去存,每一步去更新状态,然后另外一个程序去读这个变量