pcntl_signal
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
pcntl_signal — Встановлення обробника сигналу
Опис
pcntl_signal(int $signal, callable|int $handler, bool $restart_syscalls = true): bool
Функцияpcntl_signal() встановлює новий оброблювач сигналу або замінює поточний оброблювач сигналу, вказаний у аргументі signal
Список параметрів
signal
Номер сигналу.
handler
Оброблювач сигналу. Це може бути або callable, покажчик на функцію, яка буде запущена для обробки сигналу, або значення однієї з глобальних констант: SIG_IGN
або SIG_DFL
, які, відповідно, або призведуть до ігнорування сигналу або відновлення оброблювача за замовчуванням.
Если передан типcallable, він повинен мати таку сигнатуру:
handler(int $signo, mixed $siginfo): void
signal
Номер сигналу, що обробляється.
siginfo
Якщо операційна система підтримує структури siginfo_t, можна передати масив з інформацією про сигнал відповідної структури.
Зауваження :
Зверніть увагу, що коли ви задаєте як обробник метод об'єкта, лічильник посилань на цей об'єкт буде збільшений на одиницю, що збереже його в пам'яті доти, поки ви або не зміните обробник на щось інше, або до тих пір, поки скрипт повністю не завершить своєї роботи.
restart_syscalls
Визначає, чи потрібно використовувати перезапуск системного виклику під час надходження сигналу.
Значення, що повертаються
Повертає true
у разі успішного виконання або **false
**в случае возникновения ошибки.
список змін
Версия | Опис |
---|---|
7.1.0 | Починаючи з PHP 7.1.0 обробнику callback-функції передається другий аргумент, що містить структуру siginfo певного сигналу. Ці дані будуть передані лише в тому випадку, якщо операційна система підтримує структури siginfo_t. Якщо в операційній системі не реалізовано підтримку структури siginfo_t, то як другий аргумент буде переданий NULL. |
Приклади
Приклад #1 Приклад використання pcntl_signal()****
Loading...
Примітки
pcntl_signal() не збирає обробники сигналів у стек, а замінює їх.
Дивіться також
- pcntl_fork() - Розгалужити (fork) поточний запущений процес
- pcntl_waitpid() - Очікує чи повертає статус породженого дочірнього процесу