PHP PCNTL - pcntl_signal()的restart_syscalls参数是做什么的?

时间:2015-10-01 02:07:04

标签: php signals pcntl

我现在已经使用PHP的PCNTL extension一段时间,但无法弄清楚pcntl_signal()restart_syscalls参数是做什么的。我试着环顾互联网,但无法找到任何信息。所有文件都说是:

  

"指定在此信号到达时是否应使用系统调用重启。"

什么是"系统调用重启"?

1 个答案:

答案 0 :(得分:2)

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

  • SIGTERM :终止进程;与 SIGKILL 不同,它可以被阻止,处理和忽略。
  • SIGKILL :立即终止流程
  • SIGSTOP :暂停当前状态的进程

restart_syscalls 指定在signo到达时是否应该使用系统调用重启signo的例子是我上面列出的三个,还有更多。

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

我转发给你这个非常简单明了的例子:pcntl_wait not interrupted by SIGTERM