Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запуск сервиса


Страницы:   1 2

Tonich ©   (2007-10-02 11:46:00) 

Есть проблема с запуском сервиса. При его создании указывают имя сервиса от которого зависит мой сервис. а когда запускаю свой говорит что зависимый сервис либо отсутствует либо отмечен как удаляемый, хотя на самом деле он запущен и работает... кто-то сталкивался с таким?


Tonich   (2007-10-05 13:19:00) [1]

а вы имели ввиду у него посмотреть.. ) я думал у моего все теперь понял про UDF


Сергей М.   (2007-10-05 13:14:00) [2]

Ну ты у FB посмотрел приоритет ?


Tonich   (2007-10-05 13:05:00) [3]

странно в процедуре старта сервиса меняю приорите
значить порядок действий

Get.....0x280 - ?????????  должно же быть 0x1E0
Set.....0x301
Get.....0x301
а 0x280 это с таким приоритетом стартуют все процессы..


Tonich   (2007-10-05 12:59:00) [4]

нет ну это понято )


Сергей М.   (2007-10-05 12:23:00) [5]


> да че там сочинять


Как это "да че" ?!

Обе ф-ции имеют смысл в контексте текущегопроцесса !


Tonich   (2007-10-05 12:18:00) [6]

да че там сочинять
вначале запросить Get  посмотреть что тм, потом дать Set и потом опять Get


Сергей М.   (2007-10-05 12:16:00) [7]

Как проверять собрался ?

Проще всего, думаю, будет сочинить простейшую UDF, в теле которой запросить шатдаун-приоритет тек.процесса.


Tonich   (2007-10-05 12:05:00) [8]

ну вообще-то вот от сюда

The SCM uses this function to give its handler
0x1E0 priority.

блин, ща проверю


Сергей М.   (2007-10-05 11:39:00) [9]


> 0x1E0 который стоит у FB


Как узнал ?


Tonich   (2007-10-05 10:45:00) [10]

да, результат равен 1


Сергей М.   (2007-10-05 10:43:00) [11]

А функция эта у тебя действительно выполнилась успешно ?


Tonich   (2007-10-05 10:37:00) [12]

так я ж приводил кусочек кода
SetProcessShutdownParameters(0x301,SHUTDOWN_NORETRY)
вот что я делаю при старте сервиса
это же явно больше чем 0x1E0 который стоит у FB  и тем ни менее...


Сергей М.   (2007-10-05 09:12:00) [13]


> Tonich ©   (04.10.07 21:47) [21]


Cудя по приведенной цитате из MSDN твой сервис после старта должен первым делом повысить свой шатдаун-приоритет до величины не меньшей чем у FB- процесса. Тогда система сначала будет "гасить" твой процесс и только потом FB-процесс.


Tonich   (2007-10-04 21:47:00) [14]

так что, насчет сервиса больше никто ничего не может подсказать ?


Tonich   (2007-10-03 13:58:00) [15]

да вот собственно с этого  ((

MSDN - http://msdn2.microsoft.com/en-us/library/ms685149.aspx

> Note that during service shutdown, the SCM does not take
> dependencies into consideration. The SCM enumerates the
> list of running services and sends the SERVICE_CONTROL_SHUTDOWN
> command. Therefore, a service may fail because another service
> it depends on has already stopped. To set the shutdown order
> of dependent services, use the SetProcessShutdownParameters
> function. The SCM uses this function to give its handler
> 0x1E0 priority. The SCM sends SERVICE_CONTROL_SHUTDOWN notifications
> when its control handler is called and waits for the services
> to exit before returning from its control handler.


Сергей М.   (2007-10-03 13:55:00) [16]


> как вы понимаете у еня первым падает сервис FB


С какого перепугу он "выпадает" первым, если на него имеются референции со стороны твоего сервиса ?


Tonich   (2007-10-03 13:46:00) [17]


> Сергей М. ©   (03.10.07 13:42) [17]

с тем что мой сервис зависит от сервиса FireBird 1,5 и я хочу просто по выключению моего сервиса сохранить некоторые результаты в базе, ну а как вы понимаете у еня первым падает сервис FB, вот сот собственно с этим и связана эта партизанщина ))


Сергей М.   (2007-10-03 13:42:00) [18]


> как выключить мой сервис первее всех, при выключении системы


А с чем связана эта партизанщина ?


Tonich   (2007-10-03 13:03:00) [19]


> Slym ©   (03.10.07 08:31) [15]
(есле только не через таскман вырубать)

вот именно для этого

> Сергей М. ©   (03.10.07 08:22) [14]

по разному ставил, начиная от 250 заканчивая 1000
но я решил уже эту проблему, она решается если выключать таймер когда сервис не зарегестрирован...

а можно другой вопрос в этой теме...
как выключить мой сервис первее всех, при выключении системы
пробовал  SetProcessShutdownParameters(0x301,SHUTDOWN_NORETRY) не помогает


Slym   (2007-10-03 08:31:00) [20]

Tonich ©   (02.10.07 16:23) [10]
и зачем эта проверка? "зависимость" за тебя сама отработает (есле только не через таскман вырубать)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо