Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Рестартовать зависшие процессы

Ответить
Настройки темы
CMD/BAT - [решено] Рестартовать зависшие процессы

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Подскажите как через батник или VBS проверить не зависла ли программа "run.exe" или процесс "Run.exe"
и если висит то перезапустить его.
P/S просто taskkill -f не подходит нужно именно проверять и перезапускать только если завис иначе можно
потерять данные

Отправлено: 15:25, 26-07-2010

 

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


или подскажите как стартовать файл только в том случае если его нет среди запущенных процессов

Отправлено: 12:32, 27-07-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


osp2008,

по поводу отслеживания зависшего процесса надо подумать, а запуск
процесса по факту наличия отсутствия делается так:

Код: Выделить весь код
strCommand = "Notepad.exe"

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

Set colProcesses = objWMIService.ExecQuery( _
    "Select * from Win32_Process " _
    & "Where Name = '"& strCommand &"'")

    If colProcesses.count = 0 Then

           Set objProcess = objWMIService.Get _
                            ("Win32_Process")
           intRet = objProcess.Create _
                    (strCommand, Null, null, intProcessID)

              If not intRet = 0 Then
                 Wscript.Echo "Ошибка создания процесса" & _
                         vbcrlf & "Command line: " & strCommand
              End If

    Else
       Wscript.Echo   "Существует " & colProcesses.count _
                    & " экземпляр(ов) процесса" & strCommand   
    End if
Создай задачу в планировщике на кратный запуск скрипта через необходимый интервал времени...
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:24, 27-07-2010 | #3


Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


По отслеживанию зависшего процесса вот здесь пытаемся код создать

Отправлено: 00:24, 29-05-2013 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


PowerShell:
Код: Выделить весь код
$sPath2App = "E:\Песочница\0263\BadApp\BadApp.exe"

$oProcess = Get-Process -Name BadApp -ErrorAction:SilentlyContinue

if($oProcess -eq $NULL) {
    Start-Process -FilePath $sPath2App
} else {
    if(-not $oProcess.Responding) {
        $oProcess.Kill()
        Start-Process -FilePath $sPath2App
    }
}
В качестве исполняемого файла использовалась утилита для имитации различных состояний процесса: Bad Application - Hang Process, Crash, Terminate Explorer - NTWind Software.
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:25, 29-05-2013 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Рестартовать зависшие процессы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - Зависшие процессы Karen87 Microsoft Windows 2000/XP 3 24-11-2009 09:06
Снять зависшие сеансы cisco Общий по Linux 19 15-07-2008 13:15
Процессы kop4enyi Хочу все знать 4 12-10-2006 12:29
процессы bezumes Хочу все знать 5 10-03-2006 06:11
Процессы Forrest Gump Хочу все знать 4 04-02-2005 14:40




 
Переход