IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Обсуждение программ (http://www.imho.ws/forumdisplay.php?f=3)
-   -   Программы от nnSoft (nnCron, nnCron LITE, nnBackup): проблемы и решения. (http://www.imho.ws/showthread.php?t=23914)

augura 05.06.2004 02:05

у меня, блин , все зависает!

maskman 06.06.2004 01:38

Scupxxx
Закинул твой вопрос в конференцию посвященную данной проге.
Есть вопрос:
Что за прога виснит???

augura
В твоем случае, ошибка может быть где угодно, например, в ДНК.

Scupxxx 07.06.2004 15:17

Интересует общий подход к решению задачи. Мне кажется, что надо как-то детектировать состояние процесса (отвечает, не отвечает, etc.)
Под 98 иногда заголовок окна меняется на "Имя проги (не отвечает)" - но это не всегда, а по ctrl-alt-del видно всегда- прога зависла..

Harddriver 10.06.2004 14:50

А подкиньте ссылок конфигов по сабжу. Хочу универсальный брутфорсер из него сделать :) (благодаря чудесной возможности сабжа реагировать на заголовки окон) Для этого надо - примеры создания файла и чтения из него переменной. Мож кто что готовое видел? Вещь в хозяйстве нужнейшая! По моим прикидкам, за ночь свободно пяти-шести-значный пассворд подберет, правда надо комп помощнее (а лучше два :biggrin: ) + подмутить кой чего..

maskman 11.06.2004 01:46

Scupxxx
В эхе предлажили такой вариант решения проблемы:
Код:

WINAPI: SendMessageTimeoutA USER32.DLL
: isHungWindow? ( hwnd - ? )
    >R 0 SP@ 5000 2 0 0 0 R> SendMessageTimeoutA NIP 0= \ Таймаут = 5 секунд
;

Action:
    WIN-EXIST: "buggy app"
    IF
        WIN-HWND isHungWindow? IF ........ THEN 
    THEN

Работает пpимеpно так: шлет сообщение окну, если оно не веpнуло упpавление в течении заданного вpемени, возвpащает некий код ошибки.

Сам не проверял (нет под рукой висячего приложения).
Если что выйдет свисти.

Harddriver
На оффсайте посмотри, там что то такое было.

Scupxxx 11.06.2004 10:13

Вложений: 1
Maskman не можешь код отладить для этой проги, а я уже по аналогии для своей проги сделаю - в кроне пока знаний не хватает...

maskman 12.06.2004 15:14

Цитата:

Сообщение от Scupxxx
Maskman не можешь код отладить для этой проги, а я уже по аналогии для своей проги сделаю - в кроне пока знаний не хватает...

Вот собственно что у меня получилось.
Код:

#( Test_Not_Responding
WINAPI: SendMessageTimeoutA USER32.DLL
: isHungWindow? ( hwnd - ? )
 >R 0 SP@ 5000 2 0 0 0 R> SendMessageTimeoutA NIP 0= \ Таймаут = 5 секунд
;
NoActive
Action:
WIN-EXIST: "KillTest*"
IF
        WIN-HWND isHungWindow?
 IF
  MSG: "Висим как фанера над парижем!"
 ELSE
  MSG: "Все ОК!"
 THEN 
THEN
)#

Проверил при помощи твоей утилки.
Задача фунциклирует в Win98 и Win2000, а вот в WinXP не хочет.

Scupxxx 18.06.2004 10:07

Maskman
при простом копировании твоего кода вываливаются у меня ошибки. Еще: обьясни про хендл окна: winspy показывает у проги его постоянно разный (т.е. после нового старта проги хэндл меняется) - так и должно быть?

strauss 18.06.2004 10:54

2 maskman:

Вот корректный код для WinNT/2000/XP:

Код:

#( test_not_responding1
WINAPI: IsHungAppWindow USER32.dll
NoActive
Action:
WIN-EXIST: "KillTest*"
IF
    WIN-HWND IsHungAppWindow
    IF
        MSG: "Not responding!"
    ELSE
        MSG: "Working as usual!"
    THEN 
THEN
)#


Scupxxx 18.06.2004 13:37

Теперь работает, но только при запуске задачи вручную. Цель же была перезапускать приложение, а не выводить сообщение.
win-terminate мне не помог в цикле, а kill вызывает почему-то ошибку.
Как подредактировать скрипт, чтобы при зависании приложения, крон просто снимал зависший процесс и запускал его снова?
Кстати, Если IsHungAppWindow поменять на IsHungThread то должно работать в win 98. В идеале выглядела бы так: крон детектит версию ос, и импортирует нужную функцию из user32.dll, а там... ну как в нужной мне задачи. То есть нужен бы универсальный код. Я думаю, что он многим бы пригодился: звонилка там ночью зависнет, качалка, та мало ли что может зависнуть, которое всегда нужно в рабочем состоянии...

Барс 19.06.2004 19:55

Трабла: даю nnBackup-у самую простую задачу - скопировать папку из С:\ на любой другой диск, ничего не происходит. С других (D,E,F,G etc.) копирование синхронизация - все пашет. В ГУИ есть опция выполнять задачу как залогинившийся юзер (администратор), - ничего не помогает. Как быть если нужно забэкапить фаило с С:\? (На С: стоит WinXPSP1, он же ОС)

strauss 19.06.2004 19:59

что еще за ГУИ? версия nnBackup? в логах что?

Барс 19.06.2004 20:27

ето в nncrone - GUI - graphic user interface

Log:
16:07:57 1008 TASK: Test
16:07:59 1008 Start: C:\Program Files\nnBackup\nnbackup.exe sync -i C:\Program Files\Trillian -o G:\BackUp\Sys -s -p -q -da
16:07:59 1008 Start result: 0
16:10:59 1016 Load crontab

версия последняя, свежескачанная

strauss 19.06.2004 20:58

скажи, плз, версию nnBackup и что находится в логе nnBackup.

Барс 19.06.2004 21:18

на допустим вот такую задачу:

C:\Program Files\nnBackup\nnbackup.exe sync -i C:\Program Files\Winamp -o g:\backup\system -q -p -s

получаем лог:

Sa 19.Jun.2004 20:14 ERROR: Source path 'C:\Program' not exist (2)


версия - 2.27

strauss 19.06.2004 21:25

мда... а если заключить "c:\program files\winamp" в кавычки?

Барс 20.06.2004 02:53

Вот теперь другое дело.

maskman 20.06.2004 13:51

Цитата:

Сообщение от 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 Спасибо за помощь.

Scupxxx 21.06.2004 12:54

Спасибо, все работает, проверено и в Xp и в 98 - код полностью работоспособен...

Scupxxx 21.06.2004 14:06

ХМ... Не работает.... Крон снимает killtest, даже если не нажимать кнопку "Зависнуть в бесконечном цикле", т.е. даже когда и не висит (В ХР все нормально, а траблы в 98 винде.) Как победить, а?

maskman 22.06.2004 16:07

Цитата:

Сообщение от Scupxxx
ХМ... Не работает.... Крон снимает killtest, даже если не нажимать кнопку "Зависнуть в бесконечном цикле", т.е. даже когда и не висит (В ХР все нормально, а траблы в 98 винде.) Как победить, а?

Наслаждайся.
Код:

#( test_not_responding
WINAPI: IsHungAppWindow USER32.dll
WINAPI: SendMessageTimeoutA USER32.DLL
: isHungWindow? ( hwnd - ? )
>R 0 SP@ 5000 2 0 0 0 R> SendMessageTimeoutA NIP 0= \ Таймаут = 5 секунд
;
VARIABLE Responding?
\ Проверять каждую минуту
Time: * * * * * *
\ Только если запущено приложение KillTest
Rule: WIN-EXIST: "KillTest*"
Action:
\ Responding=FALSE
Responding? OFF
\ Взависимости от ОС
WinNT?
IF
WIN-HWND IsHungAppWindow
\ Поверка на зависон. Если висим, то Responding=TRUE
IF Responding? ON THEN
ELSE
WIN-HWND isHungWindow?
\ Поверка на зависон. Если висим, то Responding=TRUE
IF Responding? ON THEN
THEN
\ Если Responding=TRUE, то перезапускаем KillTest
Responding? @ \ Здесь была ошибка
IF
KILL: "KillTest.exe"
PAUSE: 1000
START-APP: "E:\Downloads\KillTest.exe"
THEN
)#

В принципе все это ты мог написать и сам, заглядывая в help.

Scupxxx 22.06.2004 19:04

Maskman, спасибо, что уделяешь моей проблеме столько внимания. Но в 98-ой винде этот код тоже не работает - траблы те же: Крон снимает killtest, даже если не нажимать кнопку "Зависнуть в бесконечном цикле", т.е. и тогда когда ничего не висит. В кроне не хватает знаний, если можешь взглянуть на http://subscribe.ru/archive/comp.pro.../09181130.html, то может это как-то поможет (мне не помогло)

maskman 22.06.2004 20:14

Цитата:

Сообщение от Scupxxx
Maskman, спасибо, что уделяешь моей проблеме столько внимания. Но в 98-ой винде этот код тоже не работает - траблы те же: Крон снимает killtest, даже если не нажимать кнопку "Зависнуть в бесконечном цикле", т.е. и тогда когда ничего не висит. В кроне не хватает знаний, если можешь взглянуть на http://subscribe.ru/archive/comp.pro.../09181130.html, то может это как-то поможет (мне не помогло)

Я небольшую ошибку допустил в коде.
Теперь должно работать.

ales 23.06.2004 21:05

Обнаружилась такая трабла, когда запущен крон, то винда больше 2х суток не может работать. Выскакивает ошибка о нехватке системной памяти.

maskman 27.06.2004 01:26

Цитата:

Сообщение от san1
Обнаружилась такая трабла, когда запущен крон, то винда больше 2х суток не может работать. Выскакивает ошибка о нехватке системной памяти.

Не наблюдал так проблемы.
Попробуй поотключай плагины, задачи и погоняй комп, может что и прояснится.
У меня круглосуточно на двух компах nnCron крутится и всегда что то вытворяет - проц не греется, памяти не просит.

Scupxxx
Свистнул, хотя бы задача работает или нет???

Scupxxx 29.06.2004 09:19

MAskman сегодня только освободился, потестю, сразу сообщу.

Scupxxx 01.07.2004 12:20

Maskman, спасибо, все работает, протестил на 98 и ХР, Еще раз БОЛЬШОЙ СЕНКС!

Crime 04.07.2004 23:38

есть вот такой скрипт

#( test_runit
Action:
WatchProc: "Runit.exe"
WatchProcStop: "Runit.exe"
Action:
START-APPW: D:\RunIt\Runit.exe
)#

тоесть надо чтобы если я вдруг случайно закрываю эту прогу по альт +Ф4 то она ее запускает снова, но проблемка в том что этот скрипт начинает запускать ее ху... тучу раз. в чем дело ?

maskman 13.07.2004 00:44

У программы nnCron и не только открылся свой форум
http://www.nncron.ru/forums/index.php

TeNPro 21.08.2004 19:23

моник-телек-моник
 
Ребята, подскажите плз...
Хотел для матери сделать по хоткею переключение монитор-телевизор для просмотра фильмов. По-обычному ей никак не запомнить. А скриптик никак не могу состряпать... для тех, кто каталист юзает.
Свойства экрана-параметры-дополнительно-мониторы -тв
вся проблема в закладках...

TeNPro 23.08.2004 09:52

Вот, например, как вызвать свойства экрана я разобрался (rundll32 shell32,Control_RunDLL desk.cpl), а дальше выбрать закладку Параметры-Дополнительно-Мониторы не выходит. С помощью WIN-CLICK не удаётся... Вводить кучу табов и стрелок?

TeNPro 23.08.2004 21:12

Ага, разобрался :)
Может кому пригодится. Переключает по Win-T Radeon-ы с тв-выходом с монитора на телек и по той же комбинации обратно. Возможно придётся подправить задержки. У меня рабочий этот вариант:

#( Monitor-TV-Monitor
NoLog
WatchHotKey: "$t"
Action:
ShowNormal NormalPriority
START-APP: rundll32 shell32,Control_RunDLL desk.cpl
110 PAUSE
4 0 DO SEND-KEYS: "^{TAB}" LOOP
250 PAUSE
WIN-CLICK: "Свойства: Экран" "Допо&лнительно"
5 0 DO SEND-KEYS: "^{TAB}" LOOP
3 0 DO SEND-KEYS: "{TAB}" LOOP
SEND-KEYS: " "
SEND-KEYS: "{ENTER}"
WIN-CLICK: "Свойства: Экран" "ОК"
)#

Boy Genius 13.09.2004 19:53

Цитата:

denver:
Признаюсь что бОльшую часть следующего кода я внатуре скомуниздил из фидошной эхи, но штука имхо довольно удобная. Данный таск выводит инфу о песне которая в данный момент играет в винампе. Просто архиполезно когда винамп скрыт а песни переключаются хоткеями. Работает со всеми версиями винампа.
А можно так сделать что бы балун прятался сам. Т.е. показал какую песьню играет, и спрятался, а то он так назойливо висит вплоть до следующей версии.

Есть ещё пара вопросов:
ADD-HOST
1)поигрался вроде всё получилось. В хелпе написанно, что сайт считается живым, если пинуется. А я хочу попинговать и следить ввсё время за работоспособность DNS моего прова. Ну я вписал вместо адреса сайт - IP. Но у меня всё верся иконка красная, мол мёртвый он. Но он то не мёртывый. Чё делать?
2)Можно ли с помощью проги спрятать активное окно в трей. Именно активное, а не то что в хэлпе написанно про win2tray.spf

denver 13.09.2004 20:13

Boy Genius
Цитата:

он так назойливо висит вплоть до следующей версии
Вобще-то балун должен умирать через максимум 15 сек., время указывается в команде вызова. У меня все благополучно.

Boy Genius 13.09.2004 20:33

denver
Значит мне терпения не хавтило. 15 сек для меня много. 3-4 максимум.
Цитата:

denver:
время указывается в команде вызова
Ткни носом плз.
Не подскажешь вот балун выскакавает и там помимо надписи ещё и иконка. Воскл. знак в треугольнике. Изменить возможно? Это не так важно конечно, но всё таки интересно.

Boy Genius 15.09.2004 01:06

Ау, кто-нить может разъяснит, то о чем я спрашивал? Пожалуйста!
У меня ещё вопрос по бэкапу
Код:


#( totalcmd_backup
AsLoggedUser
Time: 0 0 * * * *
Action:
StartIn: "C:\Program Files\nnBackup"
ShowNormal  NormalPriority
QSTART-APP: C:\Program Files\nnBackup\nnbackup.exe  -i C:\Documents and Settings\Boy Genius\My Documents\totalcmd -o E:\_BACKUP\totalcmd\ -e -zip
)#

что я сделал не првильно? ошибку не выдаёт, консольное окошко поднимается, но зазипованного файлика нет...

Boy Genius 15.09.2004 11:22

Перечитал хелп. Как я тоько не пробовал, но не бэкапит нифига. :idontnow:

NicholasNemtsev 15.09.2004 12:10

Цитата:

Сообщение от Boy Genius
У меня ещё вопрос по бэкапу
QSTART-APP: C:\Program Files\nnBackup\nnbackup.exe -i C:\Documents and Settings\Boy Genius\My Documents\totalcmd -o E:\_BACKUP\totalcmd\ -e -zip

1. Путь в ключе -i надо взять в кавычки
2. Ключ -zip означает зиповать каждый файл по отдельности (это так, для информации).

Tch 16.09.2004 12:17

Прошу помочь разрешить мелкий вопрос!
Как перед запуском nerocmd проверить размер всех файлов директории на не превышение 700 Mb.
Что-то у меня не получилось прорваться через такие оргомные числа с двойной длиной.

Premium 16.09.2004 14:59

Tch:
В хэлпе же есть примеры. Ключевые слова nnCron - Работа с файлами и каталогами. Что-нибудь вроде этого:

#( test_filesize
NoActive
Action:
RECURSIVE
FOR-FILES: "D:\NERO\*.*"
716800000. FILE-SIZE: "%FOUND-FULLPATH%" D<
IF MSG: "%FOUND-FULLPATH% больше 700 Мб" THEN
;FOR-FILES
)#


Часовой пояс GMT +4, время: 23:10.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.