PHP PCNTL-pcntl_signal()的Restart_syscalls参数有什么作用?
我使用PHP的PCNTL extension已经有一段时间了,但是不知道pcntl_signal()
的restart_syscalls
参数做什么。我试着在互联网上四处寻找,但找不到任何信息。所有文档都说:
"指定此信号到达时是否应使用系统调用重新启动。"
什么是"系统调用重新启动"?
解决方案
假设您将信号处理程序编程为使用以下信号停止进程:
- SIGTERM:要终止进程,它可以被阻止、处理和忽略,这与SIGKILL不同。
- SIGKILL:立即终止进程
- SIGSTOP:暂停进程的当前状态
restart_syscalls
指定signo
到达时是否使用系统调用重启。signo
的示例是上面列出的三个示例,还有更多示例。
这意味着,如果restart_syscalls
设置为默认值true,这将在被信号signo
停止的进程之后重新启动某些系统调用。它使用适当调整的时间参数重新启动中断的系统调用,以说明已经过去的时间。
我将您转到这个简单明了的示例:pcntl_wait not interrupted by SIGTERM
相关文章