对一些程序进行监控,如果这个程序达不到一定的规则要求,则将该程序关闭并重新启动
请问用JAVA实现,有什么思路,或者有相关源码可发到[email protected].做为参考..谢谢

解决方案 »

  1.   

    本方法是 执行 tasklist
    获取所有进程信息  再解析
      

  2.   

    用c去写吧  然后用java去调用不是很好?
      

  3.   

    重启动线程在JAVA中基本不可能实现。2次调用.start()方法会报错的。
    通过标识符的方法的话,又有个问题,当线程在sleep时,是识别不到标识符的变化的。
    我的方法是:
    当线程执行条件不满足后,进入一个死循环,每隔一定时间去判断下标识符改变了没,如果改变了,就break出死循环。这样就变相的实现了关闭,重启线程的功能,只不过比较浪费资源。
    写点伪代码说明下:boolean start=true;
    while(true){//将线程做成死循环,保证不会结束
      if(start){//如果标识符是真,那么执行代码   <<<-----------------------------------------------^
          while(true)(//把代码放到一个嵌套的死循环中执行,如果不满足要求则退出循环(变相实现kill线程)  |
                执行线程逻辑;                                                                            |
                  if(start==false){//如果标识符改变                                                      |
                   break;//退出逻辑,此时程序会回到--------------------------------------------->>
                         //重新根据start的值选择进入程序逻辑(if(true)),还是死循环(if(false))
                }
           )
      }else{//如果不满足执行条件
          while(true){
             if(start==true){
                  break;//如果满足程序执行条件了,那么又退出死循环,试行上面的代码
             }
             try{
                 Thread.sleep(1000);//连续判断会死机的,所以每隔1秒去判断下就可以了
             }catch(Exception e){}
          }
      }
    }
    此方法100%为本人原创,如有雷同,纯属巧合,版权所有,转载请注明作者!
      

  4.   

    呵呵..
    说明一下,没有难度就不会来请教各位高手啦,:)
    只在JAVA下实现.
    先给分,本人新来,分不多,但谢谢楼上各位!~