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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Контроль зависания программ2 (http://forum.oszone.net/showthread.php?t=308008)

lenagan 16-11-2015 11:05 2575280

Контроль зависания программ2
 
привет! В старой теме нашел скрипт для перезапуска зависшего процесса...,
http://forum.oszone.net/nextoldesttothread-190606.html
Код:

powershell if (-not (get-process KillTest).responding) { kill -name KillTest; $log=Get-Date; KillTest } if ($log) { Add-Content restart.log $log }
скажите пожалуйста как его прописать, чтобы он смотрел процесс с именем mailserver.exe и mctrl.exe и перезапускал в случае необходимости их... лежат в директории
C:\Program Files (x86)\Kerio\MailServer\mailserver.exe
C:\Program Files (x86)\Kerio\MailServer\mctrl.exe

greg zakharov 16-11-2015 12:17 2575300

Код:

'mailserver', 'mctrl' | % {
  <#
  enum {
    ...
    ssfPROGRAMFILESx86 = 0x30
  } ShellSpecialFolderConstants;
  #>
  $dir = (New-Object -ComObject Shell.Application).NameSpace(0x30).Self.Path
}{
  if (!(ps $_).Responding) {
    ii "$($dir)\$_.exe"
  }
}


lenagan 16-11-2015 13:23 2575323

спасибо - скрипт отрабатывает...но я даже не пойму правильно ли!?

в предыдущем я хоть понимал что и где - подставлял notepad, вешал его и проверял - отрабатывало) а тут темный лес для меня) или доделать бы, чтобы он эти екзешники запускал, если их нет в процессах

Если еще есть варианты попроще написания - пожалуйста напишите) как в первом посте - его бы допилить..плюс там лог ведется - тоже хорошая плюшка!

greg zakharov 16-11-2015 14:21 2575350

Куда уж проще?!
Код:

'mailserver', 'mctrl' | % { # массив из вожделенных процессов
  $dir = (New-Object -ComObject Shell.Application).NameSpace(0x30).Self.Path # путь до ProgramFilesx86
}{
  if (!(ps $_).Responding) { # если процесс не отвечает...
    kill -Id $_.Id # ...убить процесс и...
    ii "$($dir)\$_.exe"  # ...запустить новую копию
  }
}


lenagan 17-11-2015 11:08 2575659

а лог нельзя добавить?) как в первои посте, чтоб хотя б в текстовый файл писал при зависании ?!))

greg zakharov 17-11-2015 16:03 2575763

Цитата:

Цитата lenagan
а лог нельзя добавить?)

Ну так добавьте, что мешает?!


Время: 21:53.

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