win32_start_service_ctrl_dispatcher
(PECL win32service >=0.1.0)
win32_start_service_ctrl_dispatcher — Додає до Диспетчера служб скрипт, який може бути використаний, як служба із заданим ім'ям
Опис
win32_start_service_ctrl_dispatcher(string $name, bool $gracefulMode = true): void
При запуску за допомогою диспетчера служб, процесу служби необхідно звірятися з ним для моніторингу служби та зв'язку з нею. Ця функція виконує звіряння шляхом створення потоку для обробки низькорівневого зв'язку з диспетчером служб.
Після запуску процес служби має здійснити дві дії. Перше – повідомити диспетчеру служб, що службу запущено. Це здійснюється шляхом виклику win32_set_service_status() з константою WIN32_SERVICE_RUNNING
. Якщо вам необхідно виконати тривалий процес перед запуском служби, то ви можете використовувати константу WIN32_SERVICE_START_PENDING
. Друге – продовжити звіряння з диспетчером служб, щоб визначити необхідність відключення. Це здійснюється за допомогою періодичного виклику win32_get_last_control_message()и обработки кода возврата соответствующим образом.
Застереження
Починаючи з версії 0.2.0, ця функція працює лише у "cli" SAPI. В інших SAPI функцію вимкнено.
Список параметрів
name
Коротке ім'я служби, як при додаванні за допомогою win32_create_service()
gracefulMode
true
для "елегантного" виходу. . false
для виходу із помилкою. Дивіться win32_set_service_exit_mode() для отримання детальної інформації.
Значення, що повертаються
Функція не повертає значення після виконання.
До версії 1.0.0, Повертає WIN32_NO_ERROR
у разі успішного завершення false
якщо була виявлена проблема з параметрами або код помилки Win32 при невдалому завершенні роботи.
Помилки
До версії 1.0.0, якщо SAPI не є "cli"
, дана функція викликає помилку рівня E_ERROR
Починаючи з версії 1.0.0, викидає виняток Win32ServiceException, якщо SAPI не є "cli"
список змін
Версия | Опис |
---|---|
PECL win32service 1.0.0 | Викидає ValueError при некоректних даних у параметрах, що раніше поверталося false |
PECL win32service 1.0.0 | Викидає Win32ServiceException у разі виникнення помилки, раніше повертався Код помилки Win32 |
PECL win32service 1.0.0 | Тип значення, що повертається void, раніше був mixed |
PECL win32service 0.4.0 | Добавлен параметрgracefulMode |
PECL win32service 0.2.0 | Ця функція працює тільки з "cli" SAPI. |
Приклади
Приклад #1 Прикладwin32_start_service_ctrl_dispatcher()****
Перевірте, чи запущено сервіс у диспетчері служб.
Loading...
Дивіться також
- win32_set_service_status() - Оновлює статус служби
- win32_get_last_control_message() - Повертає останнє керуюче повідомлення, яке було надіслано цій службі
- win32_set_service_exit_mode() - Визначає або повертає режим виходу для поточної запущеної служби
- win32_set_service_exit_code() - Визначає чи повертає код виходу для поточної запущеної служби
- Коди Помилок Win32