aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 14642|回复: 5

处理自己发呆的进程

[复制链接]

56

主题

412

回帖

3788

积分

荣誉会员

积分
3788
发表于 2011-7-9 22:19:57 | 显示全部楼层 |阅读模式
import win.ui;
import process
/*DSG{{*/
var winform = win.form(parent=...; text="aardio Form";right=349;bottom=249 )
winform.add(  )
/*}}*/


//原因是创建任务的时候,会创建多个进程去做其他事情
//但是中途可能会出现几个一直发呆的进程而导致无法创建新的进程
//所以我就想把这些发呆的进程KILL掉
//让新的进程继续开启(限制了进程个数的)



//这里开始都是照搬  carl 的那个 内存帖子里面的
GetProcessMemoryInfo = ::Psapi.api("GetProcessMemoryInfo","int(pointer hProcess,struct& ppsmemCounters,int cb)")
   
PROCESS_MEMORY_COUNTERS=
class{
    int cb;
    int PageFaultCount;
    int PeakWorkingSetSize;
//物理内存的最大值
    int WorkingSetSize;     //物理内存的大小
    int QuotaPeakPagedPoolUsage;
    int QuotaPagedPoolUsage;
    int QuotaPeakNonPagedPoolUsage;
    int QuotaNonPagedPoolUsage;
    int PagefileUsage;      
//虚拟内存大小
    int PeakPagefileUsage;  //虚拟内存的最大值
}

mem=PROCESS_MEMORY_COUNTERS()
        
prc=process(process.getId())
GetProcessMemoryInfo(prc.handle,mem,raw.sizeof(mem))

var nc1=mem.WorkingSetSize;  //获取一次内存做参考



//定时 60秒检测一次内存
tmid = winform.setInterval(
    5000
/*毫秒*/,
   
function(hwnd,msg,id,tick){//定时执行代码
        nc2=mem.WorkingSetSize;
        
if(nc1=nc2){
            win.msgboxTimeout(
"马上关闭了","标题",3000)
            prc.terminate()  
//各位拜拜,自杀了
        }
        nc1=nc2
//否则从新赋值
    }
);


//这里写是创建独立程序的自己的代码。。

//这下面没代码了,内存不会增加,我们来测试用,实际请自行修改

win.loopMessage();

评分

参与人数 1 +40 收起 理由
chentca + 40 很给力!很有参考价值

查看全部评分

52

主题

1271

回帖

7276

积分

荣誉会员

积分
7276
发表于 2011-7-9 22:28:13 | 显示全部楼层
谢谢分享 学习{:soso_e100:}

1

主题

16

回帖

921

积分

三级会员

积分
921
发表于 2011-7-10 09:47:36 | 显示全部楼层
這個很不錯,支持。

51

主题

213

回帖

1548

积分

四级会员

积分
1548
发表于 2011-7-9 23:10:44 | 显示全部楼层
值得学习。

5

主题

118

回帖

1483

积分

四级会员

积分
1483
发表于 2011-7-9 23:11:21 | 显示全部楼层
很有实用价值

65

主题

881

回帖

5033

积分

荣誉会员

积分
5033
发表于 2011-7-10 12:32:40 | 显示全部楼层
CBT愈加牛逼了..

点评

真棒: 5.0
真棒: 5
即使照搬也是一种能力,我目前尚不知如何照搬  发表于 2011-7-13 09:12
。。。。都是照搬的啊  发表于 2011-7-10 14:38
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-10-4 19:54 , Processed in 0.070685 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表