JAVA的进程监控

Sasser 2008-02-25 03:34:46
对一些程序进行监控,如果这个程序达不到一定的规则要求,则将该程序关闭并重新启动
请问用JAVA实现,有什么思路,或者有相关源码可发到royalex@163.com.做为参考..谢谢
...全文
391 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sasser 2008-03-02
  • 打赏
  • 举报
回复
要结贴才能给分......汗..
Sasser 2008-03-01
  • 打赏
  • 举报
回复
呵呵..
说明一下,没有难度就不会来请教各位高手啦,:)
只在JAVA下实现.
先给分,本人新来,分不多,但谢谢楼上各位!~
numb1126 2008-03-01
  • 打赏
  • 举报
回复
重启动线程在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%为本人原创,如有雷同,纯属巧合,版权所有,转载请注明作者!
Moon 2008-02-28
  • 打赏
  • 举报
回复
楼上有道理~
rypgood 2008-02-28
  • 打赏
  • 举报
回复
用c去写吧 然后用java去调用不是很好?
fashi1000 2008-02-27
  • 打赏
  • 举报
回复
本方法是 执行 tasklist
获取所有进程信息 再解析

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧