我想通过一个JAVA程序去每隔一段时间就去检测下另外一个JAVA程序是否已经关闭,如果检测到关闭则马上开启关闭的java程序。而且我想把这个检测的java程序放到系统后台运行该怎么做?

解决方案 »

  1.   

    如果两个程序是脱离Eclipse,直接通过虚拟机运行在windows下,可以调用windows的tasklist,来查看进程中是否存在那个指定的程序名称,如果存在,直接kill就行了。
    至于如何放在系统后台,可以通过打包软件来实现(exe4j等)。
    每隔一段时间可以用Timer类来实现。
      

  2.   

    如果监测程序和被监测程序是运行在同一个机器上的话,两个程序间的通信方式还是挺多的,最简单的方法就是Socket端口。要开启被监测程序的话,必须知道被监测程序的路径了。运行程序的方法可以这样
    Runtime.getRuntime().exec("javaw -jar a.jar");
    如果要把java程序放到系统后台运行的话,需要编写一个服务程序,通过JNI调用监测程序的main方法来实现。