我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 执行状态 >

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

归档日期:07-14       文本归类:执行状态      文章编辑:爱尚语录

  比如我在一个程序A中启动一个进程去运行一个程序B,那么B运行结束后,我在A中如何知道B是异常退出还是正常退出A是其它语言写的的话,怎么穿透java虚拟机获得里面程序的状态...

  比如我在一个程序A中启动一个进程去运行一个程序B,那么B运行结束后,我在A中如何知道B是异常退出还是正常退出

  A是其它语言写的的话,怎么穿透java虚拟机获得里面程序的状态展开我来答

  可选中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程序并监控两个程序的状态,并且可以把两个程序做成模块化来调用执行。这种方法最强大,也最灵活,能够解决两个程序运行时候的互锁等问题,但是也最复杂。

  我的意思是A不一定是java程序,可能是本机的另一个C语言写的程序之类的。

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

本文链接:http://germworks.net/zhixingzhuangtai/361.html