[решено] Как проверить, работает- ли программа?

Ответить
Аватара пользователя
Не флужу

[решено] Как проверить, работает- ли программа?

Сообщение Не флужу »

Хочу написать сторонний скрипт, который проверял- бы работает- ли главный скрипт и если не работает- запукал- бы его. Собственно всё. может поможет кто с кодами? Изображение
Аватара пользователя
Creat0R

Re: [решено] Как проверить, работает- ли программа?

Сообщение Creat0R »

Цитата Не флужу:



Хочу написать сторонний скрипт, который проверял- бы работает- ли главный скрипт и если не работает- запукал- бы его.
[решено] Как проверить, работает- ли программа?




Сторонний, или дочерний?

Из стороннего можно проверять некое скрытое, уникальное окно.

А с дочерним будет попроще, можно получить PID родительского процесса, и проверять его в списке процессов.



P.S

Это попахивает вредоносной программой Изображение ...
Аватара пользователя
Не флужу

Re: [решено] Как проверить, работает- ли программа?

Сообщение Не флужу »

Озадачил вопросом Изображение

Вобщем попробую на словах обьяснить его работу



Запускаю скрипт, он смотрит, работает- ли другой скрипт. Если не работает- запускает его. И точка Изображение
Аватара пользователя
Creat0R

Re: [решено] Как проверить, работает- ли программа?

Сообщение Creat0R »

А теперь внимание главный вопрос - какая цель у "главного скрипта"? Изображение
Аватара пользователя
Не флужу

Re: [решено] Как проверить, работает- ли программа?

Сообщение Не флужу »

Эх...



"Главный скрипт" просматривает кэш и ищет нужную информацию.



Проблема в том, что информация в нужном .php файле постоянно меняется, а пока работает скрипт, .php не хочет обновлятся(или скрипт не хочет реагировать на изминения). Эту проблему хочу решить прописав остановку в "главном"(в случае если нет нужной информации) , в то время, как "другой скрипт" будет запускать "главный" если он не работает Изображение



Не знаю насколько намудрил, но по другому не знаю как обьяснить ситуацию Изображение
Аватара пользователя
beve

Re: [решено] Как проверить, работает- ли программа?

Сообщение beve »

Цитата Не флужу:



если не работает- запукал- бы его
[решено] Как проверить, работает- ли программа?




Если у главного скрипта есть окно, то можно попросту так:

Код:

Код: Выделить всё

Global $WinTitle ="заголовок окна программы для запуска (главный скрипт)"
Global $NameProg="имя программы для запуска (главный скрипт)"
If winExists($WinTitle)1 then  Run ($NameProg)

иначе нужно проверять наличие процесса главного скрипта[/i] с помощью ProcessExists().
Аватара пользователя
Creat0R

Re: [решено] Как проверить, работает- ли программа?

Сообщение Creat0R »

Цитата Не флужу:



информация в нужном .php файле постоянно меняется, а пока работает скрипт, .php не хочет обновлятся(или скрипт не хочет реагировать на изминения). Эту проблему хочу решить прописав остановку в "главном"(в случае если нет нужной информации) , в то время, как "другой скрипт" будет запускать "главный" если он не работает
[решено] Как проверить, работает- ли программа?




Мне кажется тут не нужен вовсе второй скрипт. Тут дело в том как проверяется файл, то что он “не хочет обновляться”, говорит лишь о том что файл занят скриптом, т.е была вызвана команда FileOpen(), хотя из справки становится понятным, что после завершения операции с файлами, нужно вызвать FileClose().



Вобщем, “главный скрипт” в студию!
Аватара пользователя
Не флужу

Re: [решено] Как проверить, работает- ли программа?

Сообщение Не флужу »

beve, Спасибо. Именно этого и ждал Изображение



Creat0R,

Попробую выделить нужную часть, но у меня проблемы с правописанием Изображение





Код:

Код: Выделить всё

 
$aString = String() ;Здесь у меня искомый стринг
$file = FileOpen("H:\Documents and Settings\Admin\Рабочий стол\HandyCache\Cache\conf.php", 0)
FileRead ( $file)
$p=0
While $p=0
$sRead = FileRead("H:\Documents and Settings\Admin\Рабочий стол\HandyCache\Cache\conf.php")        ; Читаем файл в кэше
$array = StringRegExp($sRead, $aString, 1)
If Not @error Then
If $array[2] < 2500 And $array[3] < 2500 Then                 ; Цифры в нужном диапозоне
_FileWriteLog(@ScriptDir &"\log.log", "Есть")
$Date = string(@YEAR&@MON&@MDAY&@HOUR&@MIN&@SEC)
; Лог записать
$p=1 
EndIf
endif
WEnd

P.S. Очень серьёзные проблемы с правописанием, приношу извинения. Изображение
Аватара пользователя
Не флужу

Re: [решено] Как проверить, работает- ли программа?

Сообщение Не флужу »

Creat0R, Спасибо. Буду испытывать- надеюсь поможет. Получается, если нет Fileopen то и Fileclose не требуется Изображение



Отпишу после первых испытаний Изображение



Creat0R, Спасибище. Работает как часы Изображение Выручил, дружище Изображение



РешеноООоо Изображение
Аватара пользователя
Creat0R

Re: [решено] Как проверить, работает- ли программа?

Сообщение Creat0R »

Не флужу,


Цитата:



Попробую выделить нужную часть



Ну верно, тут сразу видно что проблема в не закрытом файле:



Код: Выделить всё

$aString = String() ;Здесь у меня искомый стринг
;Эти строчки не нужны, они вообще ничего не делают в текущем их виде
;$file = FileOpen("H:\Documents and Settings\Admin\Рабочий стол\HandyCache\Cache\conf.php", 0)
;FileRead($file)
$p = 0
While $p = 0
    $sRead = FileRead("H:\Documents and Settings\Admin\Рабочий стол\HandyCache\Cache\conf.php") ; Читаем файл в кэше
    $array = StringRegExp($sRead, $aString, 1)
    If Not @error Then
        If $array[2] < 2500 And $array[3] < 2500 Then ; Цифры в нужном диапозоне
            _FileWriteLog(@ScriptDir & "\log.log", "Есть")
            $Date = String(@YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC)
            ; Лог записать
            $p = 1
        EndIf
    EndIf
    Sleep(10) ;Это чтобы не нагружать процессор
WEnd
Ответить

Вернуться в «AutoIt»