Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   [решено] Автоматическое завершение процесса. (http://forum.oszone.net/showthread.php?t=98464)

ГрМакс 18-01-2008 14:52 720018

Автоматическое завершение процесса.
 
Проблема Такая. Есть Станция WinSrv2000 на которой стоит некая (кривонаписанная) прога с утечкой памяти как только память заполняется до определенного объема машина естессно виснет приходится сбрасывать память руками (раз в 1.5 - 2 часа). Вопрос. Возможно ли автоматизировать этот процесс? Т.е. память должна сбрасываться не через определенный интервал времени, а по мере заполнения. Можно тупо мочить процесс.
PS
Исправлять ошибки в проге вне моей компетенции.
Следующая (исправленная) версия выйдет неизвестно када.

Dimas_83 18-01-2008 23:52 720414

freeram - Утилита для очистки оперативной памяти - освобождает ее от накапливающегося со временем мусора как в автоматическом режиме, так и вручную. Кроме этого, показывает в графическом виде текущий статус памяти, а также загрузку RAM и процессора.

Petya V4sechkin 19-01-2008 12:49 720620

ГрМакс, можно скриптом .vbs (класс WMI Win32_Process):
Код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery( _
    "Select * From Win32_Process " _
    & "Where Name = 'notepad.exe'")

Killed = False
For Each objProcess In colProcesses
  If objProcess.WorkingSetSize > 6291456 Then
    objProcess.Terminate
    Killed = True
  End If
Next

If Killed Then
  Set objShell = Wscript.CreateObject("Wscript.Shell")
  objShell.Run "notepad.exe"
End If

Если notepad.exe запущен и занимает более 6 метров памяти, он убивается и запускается снова. Заменить notepad.exe на ваш процесс, а 6291456 на нужное ограничение памяти (в байтах). Выполнение скрипта можно вставить в планировщик заданий (скажем, раз в минуту).

ГрМакс 22-01-2008 11:27 722728

Petya V4sechkin
СПС. Помогло :yahoo:
Все работает как надо.

starav 30-01-2008 07:37 728697

Я прошу прощения за лузерство!
Как запустить этот скрипт?

У меня немного другая проблема.

Какая-то кривая прога, точнее процесс имеется. Каждое утро мне приходится его в ручную удалять (убивать).
Может есть какая-то команда для выполнения из командной строки? Там все равно им надо будет командный файл запускать!

Petya V4sechkin 30-01-2008 09:54 728758

starav, в командной строке:
Taskkill /?

sushnyak 07-10-2012 16:06 2000887

Интересует найти процесс который использует максимальное кол-во памяти и завершить его.
Как это реализовать батником ?

Iska 07-10-2012 18:50 2000974

sushnyak, используйте VBScript (почти всё необходимое для Вашего скрипта есть выше).

Вопрос — зачем?


Время: 15:21.

Время: 15:21.
© OSzone.net 2001-