Tomsk Sysadmins Forum
Windows => Разное => Topic started by: kuguar on June 04, 2008, 11:25:49
-
подобная тема уже была скорей всего.
есть приложение , ОСЬ Win2k3, которое периодически в часы активности крешится. поиск по ивентам ничего не дал. исходников и возможности чтото переработать тоже нет. но, я решил просто приложение горхать по taskkill. но ...
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']taskkill /f /IM Server.exe >>log.txt
работает на ура. оно убивает приложение в любом состоянии - зависло - не зависло - пофигу. а хотел бы грохать именно в случае зависания. хелп по тасккилу советует делать так
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']Фильтры:
Имя фильтра Допустимые операторы Допустимые значения
----------- -------------------- -------------------
STATUS eq, ne RUNNING | NOT RESPONDING
IMAGENAME eq, ne Имя образа
PID eq, ne, gt, lt, ge, le Значение PID
SESSION eq, ne, gt, lt, ge, le Номер сессии
CPUTIME eq, ne, gt, lt, ge, le Время CPU в формате
hh:mm:ss.
hh - часы,
mm - минуты, ss - секунды
MEMUSAGE eq, ne, gt, lt, ge, le Использование памяти в КБ
USERNAME eq, ne Имя пользователя в формате
[<домен>\]<пользователь>
MODULES eq, ne Имя DLL
SERVICES eq, ne Имя службы
WINDOWTITLE eq, ne Заголовок окна
почему то тасккил не воспринимает фильтр STATUS, хоть как я его писал - пишет "фильр не опознан" и все...
вопрос - как его заставить учитывать статус приложения...
-
нужно писать в кавычках
taskkill /fi "STATUS eq NOT RESPONDING"
-
нужно писать в кавычках
taskkill /fi "STATUS eq NOT RESPONDING"
этото понятно , но не помогает. фишка в том что мне грохать надо только определенное приложение. поэтому нужно еще юзать /IM Server.exe. Пробуем на приложении , когда даже оно работатает, ведь если taskkill /fi "STATUS eq RUNNING" /IM Server.exe - то должно прибится приложение нормально работающее.
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']>taskkill /fi "STATUS eq RUNNING" /IM Server.exe
Информация: Задачи, отвечающие заданным критериям, отсутствуют.
-
Вот проверил на win2k3 RUS sp2 подвесив нотпад
taskkill /f /fi "STATUS eq running" /im notepad.exe - действительно не работает
а вот
taskkill /f /fi "STATUS ne running" /im notepad.exe и
taskkill /f /fi "STATUS ne not responding" /im notepad.exe работает на ура (т.е. eq running!=ne not responding а в Вашем случае: ne running),
но есть еще один момент
tasklist /fi "STATUS ne not responding" дает "фильр не опознан" и работать у меня отказывается, т.к похоже tasklist переводили промтом, а вот
tasklist /fi "Состояние ne not responding" - опять же работает на ура, хотя /? по этому поводу упорно умалчивает
И еще, позвольте полюбопытствовать, Вы команду на триггер в планировщике вешать хотите?
-
мда. вот на это я проверить забыл. признаюсь пытался поставлять вместо NOT RESPONDING - Не отвечает ну и вместо RUNNING - Выполняется. перебрал регистры... обязательно проверю в ближайшее время.
да, кмдшку зашедулю в стандартном планировщике.
-
Да, я тоже проверил на W2k3 R2 RUS - не работает как дОлжно и taskkill, и tasklist.
Например, tasklist не опознаёт STATUS, ему нужно по-русски написать Состояние.
Если вывести список процессов на сервере, то их состояние выходит в виде русского текста "Работает" и т.д.
Taskkill не находит выполняющийся процесс ни с каким статусом по-английски, а по-русски не опознаёт фильтр. То есть, команда фильтрует по строке, а русские символы не воспринимает.
C:\Documents and Settings\root\Мои документы>taskkill /im cmd.exe /fi "status eq running"
Информация: Задачи, отвечающие заданным критериям, отсутствуют.
C:\Documents and Settings\root\Мои документы>taskkill /im cmd.exe /fi "status eq not responding"
Информация: Задачи, отвечающие заданным критериям, отсутствуют.
C:\Documents and Settings\root\Мои документы>taskkill /im cmd.exe /fi "status eq unknown"
Информация: Задачи, отвечающие заданным критериям, отсутствуют.
-
Вы, кстати, это пишете к теме http://sysadmin.tomsk.ru/index.php?showtop...amp;#entry20318 (http://sysadmin.tomsk.ru/index.php?showtopic=2999&st=0&p=20318&#entry20318) ?
Если да, то про планировщик я вот почему спросил, у Вас приложение ведь вываливается с записью в евент лог, можно организовать триггер в планировщике по этому событию. Т.е. происходит событие, триггер срабатывает, а дальше запускается Ваш батник с taskkill /f /im server.exe & Server.exe. Конечно, это при условии, что событие в евентлог попадает сразу же после падения приложения. Если да, то EVENTTRIGGERS /Create /? Вам в помощь
-
с этим EVENTTRIGGERS такая же песня как и с тасклист и тасккилл - в хелпе ключи указаный по русски - в примерах по английски.
практика показала что нужно делать по английски, то есть несмотря что в хелпе написано
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\'] /L <журнал> Журнал событий, для которого ведется
наблюдение. Допустимые типы:
"Приложения", "Система", "Безопасность",
"DNS-сервер" и "Каталог". По умолчанию
используется подстановочный знак "*".
все равно нужно писать "Приложение"="Application"
сейчас запустил триггер пока параллельно - буду глядеть как отрабатывает. если все ок - переделаю кмдшку чтобы срабатывало только в случае если приложение само из памяти не выгрузилось. в любом случае .05 - спасибо за тычок в нужном направлении!
кстати, тема вспомнена верно - но железо уже другое - уже старенькое - но серверное.
-
с этим EVENTTRIGGERS такая же песня как и с тасклист и тасккилл - в хелпе ключи указаный по русски - в примерах по английски.
практика показала что нужно делать по английски, то есть несмотря что в хелпе написано
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\'] /L <журнал> Журнал событий, для которого ведется
наблюдение. Допустимые типы:
"Приложения", "Система", "Безопасность",
"DNS-сервер" и "Каталог". По умолчанию
используется подстановочный знак "*".
все равно нужно писать "Приложение"="Application"
сейчас запустил триггер пока параллельно - буду глядеть как отрабатывает. если все ок - переделаю кмдшку чтобы срабатывало только в случае если приложение само из памяти не выгрузилось. в любом случае .05 - спасибо за тычок в нужном направлении!
кстати, тема вспомнена верно - но железо уже другое - уже старенькое - но серверное.
А Вы попробуйте eventcreate и сразу узнаете отработает или нет.
Мда, интересно штоже курили переводчики....
-
триггер сделал - буду смотреть как отработает