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

Показать сообщение отдельно

Ветеран


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

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


Код пакетного файла:

Код: Выделить весь код
@echo off


:#
setlocal

for /f "tokens=1,2 delims=," %%i in ('
 tasklist/fi "status eq not responding" /nh /fo csv^|^
 findstr/v :
') do (
 set/a n+=1
 call set $process%%n%%=%%~j %%~i
)

for /f "tokens=2* delims== " %%i in ('2^>nul set $process') do (
 set command=^
  ^>nul ping -n 6 localhost^&^
  tasklist/fi "status eq not responding" /fi "pid eq %%i" /nh /fo csv^|^
  ^>nul findstr/v :^&^&^
  ^>nul 2^>^&1 taskkill/f /pid %%i /t^&^&^
  echo The "%%j" process with PID %%i has been terminated.
 call:##
)

>nul ping -n 6 localhost& endlocal& goto:#


:##
start ""/b cmd /c "%command%"& goto:eof
.

Этот пакетный файл будет завершать все процессы, кроме системных критических, имеющие в течении пяти секунд после обнаружения статус "NOT RESPONDING".
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:13, 03-08-2015 | #4