为什么我的 pcntl_fork 全都是返回的大于0 ?? 如何让它返回 0 ?

pascal
  • 181

每次请求都是返回的 “大于0” ,如何才能返回 0 ??

回复
阅读 834
1 个回答

“每次请求”你指的是什么?客户端发了一个 HTTP 请求吗?

那当然始终返回的是大于零的,你处理 HTTP 请求的那个进程就是主进程,它又不能处理 HTTP 请求处理一半、去让另一个进程去返回 HTTP 响应了啊。Socket 要是能跨进程共享那可太复杂了。

你对 pcntl_fork 的使用场景可能有些误解,它一般是用在处理某些客户端不需要等待的场景。比如有个接口是批量给会员发营销邮件,客户端并不关心实时的发送结果,那你调接口后,就可以开一个新进程去处理发邮件的逻辑,主进程不等待就直接返回,这样在浏览器看来这个接口响应的就会很快。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏