![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск сервиса
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]
и зачем эта проверка? "зависимость" за тебя сама отработает (есле только не через таскман вырубать)