PHP PCNTL – что делает параметр pcntl_signal () restart_syscalls?

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

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

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

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

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

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

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

Я перешлю вас на этот очень простой и ясный пример: pcntl_wait не прерывается SIGTERM