сигналы — PHP PCNTL — что делает параметр restart_syscalls в pcntl_signal ()?

Я использую PHP Расширение PCNTL на некоторое время, но не могу понять, что restart_syscalls параметр pcntl_signal() делает. Я попытался осмотреть Интернет, но не смог найти никакой информации. Вся документация гласит:

«Указывает, следует ли использовать перезапуск системного вызова при поступлении этого сигнала».

Что такое «перезапуск системного вызова»?

5

Решение

Предположим, вы запрограммировали свой обработчик сигналов, чтобы он останавливал процесс, используя такие сигналы, как:

  • SIGTERMпрекратить процесс; он может быть заблокирован, обработан и проигнорирован в отличие от SIGKILL.
  • SIGKILL: немедленно прекратить процесс
  • SIGSTOP: приостановить процесс в его текущем состоянии

restart_syscalls указывает, следует ли использовать перезапуск системного вызова при signo прибывает. Примеры signo это три, которые я перечислил выше, и их гораздо больше.

Это означает, что если restart_syscalls установлен на значение по умолчанию ПРАВДА, это перезапустит определенные системные вызовы после того, как процесс был остановлен сигналом signo, Он перезапускает прерванный системный вызов с аргументом времени, соответствующим образом откорректированным для учета времени, которое уже прошло.

Я приведу вас к этому очень простому и понятному примеру: pcntl_wait не прерывается SIGTERM

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]