|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Рестартовать зависшие процессы |
|
CMD/BAT - [решено] Рестартовать зависшие процессы
|
Новый участник Сообщения: 20 |
Подскажите как через батник или VBS проверить не зависла ли программа "run.exe" или процесс "Run.exe"
и если висит то перезапустить его. P/S просто taskkill -f не подходит нужно именно проверять и перезапускать только если завис иначе можно потерять данные |
|
Отправлено: 15:25, 26-07-2010 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать или подскажите как стартовать файл только в том случае если его нет среди запущенных процессов
|
Отправлено: 12:32, 27-07-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 140
|
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать По отслеживанию зависшего процесса вот здесь пытаемся код создать
|
Отправлено: 00:24, 29-05-2013 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить 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 } } |
|
Отправлено: 07:25, 29-05-2013 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Загрузка - Зависшие процессы | 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 |
|