Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Windows
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2016, 00:11   #1
Kreativka
Новичок
Джуниор
 
Регистрация: 17.01.2016
Сообщений: 2
По умолчанию перезагрузка программы при условии bat

Здравствуйте.
Ситуация следующая, на сервере круглосуточно работает программа ЗБ, для её стабильной работы написан батник, который сравнивает дату изменения файла логово со временем допустимого простоя, если логи не менялись свыше указанного времени, программа перезапускается.
Данный код (с измененными путями к рабочим файлам) идеально работает на другом сервере с аналогичной программой ЗП. А для этой программы не хочет работать и при каждом запуске батника не зависимо от временных показателей перезагружает программу. Ниже код батника, будьте добры, подскажите в чем может быть загвоздка?
Код:
@echo off

SETLOCAL EnableExtensions
set EXE=ZennoBox.exe
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto FOUND
echo Not running
:: Указываем полный путь к файлу Zennoposter.exe
start "" "C:\Program Files (x86)\ZennoLab\ZennoBox\Progs\ZennoBox.exe" -screen 0 -clipboard -multiwindow
exit 0
:FOUND
echo Running

:: указываем полный путь к файлу, по которому будут проверяться последние изменения
set "file=C:\Program Files (x86)\ZennoLab\ZennoBox\Progs\Logs\executionLog.txt"
:: Устанавливаем необходимый интервал в секундах
:: (5 часов = 18000 секунд):
set diff=18000
for %%i in ("%file%") do (
for /f "tokens=1,2" %%j in ("%%~ti") do (
for /f %%l in ('
mshta "vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).Write(DateDiff("s","%%j"+Chr(32)+"%%k",now))&Close()"
') do (
:: Проверяем, прошло ли установленное время после последнего изменения файла
if %%l gtr %diff% (
taskkill /f /im "ZennoBox.exe"
start "" "C:\Program Files (x86)\ZennoLab\ZennoBox\Progs\ZennoBox.exe" -screen 0 -clipboard -multiwindow )
)
)
)
exit 0
Kreativka вне форума Ответить с цитированием
Старый 17.01.2016, 09:52   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

извините за банальный вопрос.
а вообще программа что-то периодически в файл executionLog.txt пишет?
запустите программу без всякого батника (но с такой же командной строкой и посмотрите, что пишется в файл C:\Program Files (x86)\ZennoLab\ZennoBox\Progs\Logs\ executionLog.txt

Кстати, это крайне неверно, что программа хранит свой лог внутри Program Files - по хорошему ей система должна в доступе отказывать при попытке что-то записать в этот каталог! Может быть, причина как раз в этом! Нужно запускать программу от имени администратора и/или настраивать дополнительные разрешения на запись в этот каталог...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.01.2016, 23:18   #3
Kreativka
Новичок
Джуниор
 
Регистрация: 17.01.2016
Сообщений: 2
По умолчанию

executionLog.txt самый ходовой лог, который там я откопал, буквально все туда пишется
В общем разобрался, дело было в разности форматов времени, 11 вечера и 23 вечера, одно и то же, но цифры разные)
Kreativka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезагрузка ПК, при запуске/установке любой из систем Chiwos Компьютерное железо 14 11.04.2012 02:03
Запуск макроса при условии Сергей846 Microsoft Office Excel 9 01.11.2011 17:51
Двойной сигнал при окончании работы .bat программы Эллире Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 01.11.2010 12:47
Вывод ошибки при условии.... Arinka Помощь студентам 8 05.06.2010 14:54
Перезагрузка программы (Запуск заново) Gapro Общие вопросы Delphi 7 18.10.2009 12:03