/首页
/开源
/关于
PHP网络编程-进程控制篇(五)
发表@2019-12-03 10:00:00
更新@2023-03-27 16:43:53
大家好,我是老李。 首先是我这两天看了一些三国演义,我决定学习罗贯中大爷那种给章节起名的方式,你们先xue微感受一下,如果觉得不好恶心想吐,那么你们都给我忍着!!! 其次是两个小问题: - 一是这个系列比Advance-PHP系列内容会详细出很多,这个你们应该能够感受出来点儿了,不出意外真的是PHP版本的APUE - 二是昨天有一个小老弟在试验第二章中[ 多个进程共享一个Redis连接 ]的时候,遇到了子进程等待Redis返回结果阻塞的问题,具体表现大概就是四个子进程都已经fork好了,然后屏幕上显示了第一个子进程查询Redis的结果,然后第二个第三个和第四个子进程查询Redis的结果就像便秘一样出不来,一直等好久好久好久,报个[ read error on redis connection ]错后就放弃治疗了。后来一起查了查,原因是小老弟的Redis是在Docker里导致的,事儿后他抽了一根烟换成了正儿八经正规的不是Docker里的Redis后就再也没这个问题了,但是具体原因我不太清楚,我猜应该是配置问题。所以,这个故事告诉我们事后一定要抽烟。  
**聊Apue老李怀旧 说信号还看今朝**
这一章节是关于进程部分的最后一节,实际上是APUE的第[ 七八九十 ]四个章节的PHP版本,但是你去翻APUE这四个章节,我估计你没有一周时间是拿不来的。而PHP实则为我们屏蔽了众多细节,确切说是一大坨细节,屏蔽细节的好处是用起来更加粗暴方便,坏处是细节上的控制粒度是不太到位的,不过千言万语还是那句话:能用就行,难道TA不香吗? 比如我举个例子:为进程设置在终端ps等命令里的进程名。在PHP中只需要使用cli_set_process_title( string $title )函数就能搞定,这是多么的香!如果没有这个函数,你们想感受一下在*NIX环境下使用C语言如何实现这个功能吗?来来来,给你们看一下(也就是本次推送的第二篇文章,下面再送个超链接):
聊一道口头面试题
你们打开这文章好好感受一下,用心感受,用力琢磨,就这么简单的一个功能,你们能顶住吗?  可是你们再回过头来看看PHP如何搞定: ```php
**老李繁叨信号基础 腿子们怒起复制粘贴**
作为世界上最好的语言,PHP主要提供了大概四五个左右的函数来供我们使用信号。你们不用怕,按照我们前面叨叨的那些内容,使用信号只需要两步: - 给进程安装信号处理函数 - 向进程发送信号 ```php