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...

Дивіться також