PHP PCNTL - pcntl_signal() 的 restart_syscalls 参数有什么作用?
PHP PCNTL - what does pcntl_signal()'s restart_syscalls parameter do?
我一直在使用 PHP 的 PCNTL extension for a little while now, but can't figure out what the restart_syscalls
parameter of pcntl_signal()
。我尝试在 Internet 上四处寻找,但找不到任何信息。所有文档都说:
"Specifies whether system call restarting should be used when this signal arrives."
什么是 "system call restarting"?
假设您将信号处理程序编程为使用以下信号停止进程:
- SIGTERM:终止一个进程;与 SIGKILL.
不同,它可以被阻止、处理和忽略
- SIGKILL: 立即终止进程
- SIGSTOP: 在当前状态暂停进程
restart_syscalls
specifies whether system call restarting should be used when signo
到。 signo
的示例是我上面列出的三个,还有更多。
这意味着,如果 restart_syscalls
设置为默认值 TRUE,这将在进程被信号停止后重新启动某些系统调用 signo
.它使用经过适当调整以说明已经过去的时间的时间参数重新启动中断的系统调用。
我转发给你这个非常简单明了的例子:pcntl_wait not interrupted by SIGTERM
我一直在使用 PHP 的 PCNTL extension for a little while now, but can't figure out what the restart_syscalls
parameter of pcntl_signal()
。我尝试在 Internet 上四处寻找,但找不到任何信息。所有文档都说:
"Specifies whether system call restarting should be used when this signal arrives."
什么是 "system call restarting"?
假设您将信号处理程序编程为使用以下信号停止进程:
- SIGTERM:终止一个进程;与 SIGKILL. 不同,它可以被阻止、处理和忽略
- SIGKILL: 立即终止进程
- SIGSTOP: 在当前状态暂停进程
restart_syscalls
specifies whether system call restarting should be used when signo
到。 signo
的示例是我上面列出的三个,还有更多。
这意味着,如果 restart_syscalls
设置为默认值 TRUE,这将在进程被信号停止后重新启动某些系统调用 signo
.它使用经过适当调整以说明已经过去的时间的时间参数重新启动中断的系统调用。
我转发给你这个非常简单明了的例子:pcntl_wait not interrupted by SIGTERM