Цитата:
Сообщение от Scupxxx
Теперь работает, но только при запуске задачи вручную. Цель же была перезапускать приложение, а не выводить сообщение.
win-terminate мне не помог в цикле, а kill вызывает почему-то ошибку.
Как подредактировать скрипт, чтобы при зависании приложения, крон просто снимал зависший процесс и запускал его снова?
Кстати, Если IsHungAppWindow поменять на IsHungThread то должно работать в win 98. В идеале выглядела бы так: крон детектит версию ос, и импортирует нужную функцию из user32.dll, а там... ну как в нужной мне задачи. То есть нужен бы универсальный код. Я думаю, что он многим бы пригодился: звонилка там ночью зависнет, качалка, та мало ли что может зависнуть, которое всегда нужно в рабочем состоянии...
|
Код:
#( test_not_responding
WINAPI: IsHungAppWindow USER32.dll
\ Проверять каждую минуту
Time: * * * * * *
\ Только если запущено приложение KillTest
Rule: WIN-EXIST: "KillTest*"
Action:
WIN-HWND IsHungAppWindow
\ Поверка на зависон
IF
\ Если висит, то
KILL: "KillTest.exe" \ Прибить приложение
PAUSE: 1000 \ Пауза 1 сек.
START-APP: "D:\Temp\killtest\KillTest.exe" \ Перезапустить KillTest
THEN
)#
Недюсь это то что ты хотел.
strauss Спасибо за помощь.