PDA

Показать полную графическую версию : Тайм-аут для проверки запуска служб!


Moralik
12-03-2008, 13:00
Столкнулся с такой проблемой:
ОС - Windows 2003 Server
Во время старта системы запускаются несколько служб (стороннего ПО).
Одна из служб проверяет целостность БД, которая создается в процессе работы данного ПО и по времени этот процесс может длиться от 1 до 5 минут.
Остальные связанные службы запускаются после данной.

Но система через секунд 20-30 проверяет что служба не запущена и выдает сообщение типа "Служба "nnn" остановлена. Выполните её перезапуск." Необходимо нажать на кнопку "ОК" и служба тогда запускается.

Т.е. получается если вдруг сервер под управлением Windows 2003 Server перезагрузится, то служба стороннего ПО не запустится пока не будет нажата кнопка "ОК".

Вопрос - можно ли где-то увеличить параметр тайм-аута с 20-30 секунд, до хотябы 60-90 чтобы служба могла проверить БД и запуститься.

Спасибо!

Petya V4sechkin
12-03-2008, 15:03
Moralik, а если попробовать эти сторонние службы выставить на Manual (тип запуска: Вручную) и запускать их из .cmd батника командами net start имя_службы? Батник прописать в автозагрузку.

Moralik
12-03-2008, 16:36
В том то и дело что запускаться они должны автоматически (тип запуска: Авто).
Вариант с батником не удовлетворяет.
Службы имеют зависимости как между собой , так и с другими системными службами.

GreenIce
12-03-2008, 16:53
В продолжение развития рецепта moralik можно запускать службу не через автозагрузку а через политику применяемую к серверу, тогда служба запустится одновременно с загрузкой компьютера, аналогично режиму авто.
А все зависимые службы можно прописать в этом же скрипте по порядку необходимости их запуска.

а чтобы скрипт отработал после запуска системных служб можно в его начале прописать slip на пара десятков секунд

Moralik
18-03-2008, 17:48
Пока только вот отключил системные уведомления :

Для остановки раздражающих сообщений, уведомляющих , что устройство не функционирует при загрузке Windows 2003 Server, создаk dword-параметр "NoPopupsOnBoot" в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
Установил значение этого параметра равным 1 для отключения появления всплывающих сообщений.

Продолжаю поиск по timeout запуска системной службы которая проверяет все ли установленные службы (пользовательские ) запущены.

На одном из форумов была ссылка на такой параметр "ServicesPipeTimeout", но он к сожалению не работает.

d petr
18-03-2008, 18:54
Попробуйте к каждой зависимой службе добавить параметр в реестр DependOnService тип данных REG_MULTI_SZ и впишите туда название службы которая проверяет целостность БД.




© OSzone.net 2001-2012