PHP PCNTL-PCNTL_signal()和#x27;s restart_syscalls参数做什么?

PHP PCNTL-PCNTL_signal()和#x27;s restart_syscalls参数做什么?,php,signals,pcntl,Php,Signals,Pcntl,我已经使用PHP有一段时间了,但不知道的restart\u syscalls参数的作用。我试着在互联网上查找,但找不到任何信息。所有文件都说: “指定此信号到达时是否应使用系统调用重新启动。” 什么是“系统调用重新启动”?假设您将信号处理程序编程为使用以下信号停止进程: SIGTERM:终止进程;它可以被阻止、处理和忽略,不像SIGKILL SIGKILL:立即终止进程 SIGSTOP:在当前状态下暂停进程 指定到达时是否应使用系统调用重新启动。signo的例子有上面列出的三个I,还有更多

我已经使用PHP有一段时间了,但不知道的
restart\u syscalls
参数的作用。我试着在互联网上查找,但找不到任何信息。所有文件都说:

“指定此信号到达时是否应使用系统调用重新启动。”


什么是“系统调用重新启动”?

假设您将信号处理程序编程为使用以下信号停止进程:

  • SIGTERM:终止进程;它可以被阻止、处理和忽略,不像SIGKILL
  • SIGKILL:立即终止进程
  • SIGSTOP:在当前状态下暂停进程
指定到达时是否应使用系统调用重新启动。
signo
的例子有上面列出的三个I,还有更多

这意味着,如果
restart\u syscalls
设置为默认值TRUE,这将在进程被信号
signo
停止后重新启动某些系统调用。它使用一个时间参数重新启动中断的系统调用,该参数经过适当调整,以考虑已经过去的时间


我向您转发一个非常简单明了的示例:

感谢您的解释和链接!现在有点清楚了,但老实说,我还是不太明白“系统调用重新启动”是什么…:(事实上,我不理解为什么必须重新启动系统调用,或者重新启动系统调用意味着什么。