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() - Очікує чи повертає статус породженого дочірнього процесу