感谢 zwfgdlc 为大家原创开发此软件。软件作用是:
因任子行插件进程rzxsurename.exe句柄、内存泄漏,几天后内存占用会高达1G以上,句柄数5000以上,最终导致进程卡死.
进程卡死后无法激活卡,登陆卡号,结账下机,给网吧带来不小的困扰.一般维护人员会在收银机桌面上个重启任子行进程的批处理,告诉工作人员出现此状态时使用.
本程序可实时监视进程状态,当进程卡死时可自动结束rzxsurename.exe进程.进程运行后会在进程本目录生成以rzx.log为文件名的日志.
有朋友问如何检测进和假死,下面我给段au3代码。当然还有思路是检测进程的内存占用,过高也可以结束掉。
#include <WinAPIProc.au3>
; 获取目标进程的进程句柄
$hProcess = _WinAPI_OpenProcess(BitOr($PROCESS_VM_READ, $PROCESS_QUERY_INFORMATION), False, $processId)If $hProcess <> 0 Then
; 等待进程退出或者5分钟超时
$dwResult = _WinAPI_WaitForSingleObject($hProcess, 300000)Switch $dwResult
Case $WAIT_OBJECT_0
; 进程已经退出
ConsoleWrite("进程已经退出" & @CRLF)
Case $WAIT_TIMEOUT
; 进程假死
ConsoleWrite("进程假死" & @CRLF)
Case Else
; 发生错误
ConsoleWrite("发生错误 " & _WinAPI_GetLastError() & @CRLF)
EndSwitch; 关闭进程句柄
_WinAPI_CloseHandle($hProcess)
Else
ConsoleWrite("打开进程失败 " & _WinAPI_GetLastError() & @CRLF)
EndIf
我的工单留言列表与站长回复 . 共有留言: 18 条