随笔 - 271,  文章 - 0,  评论 - 28,  阅读 - 76万

随笔分类 -  多进程编程

WorkerMan源码分析 - 实现最简单的原型
摘要:之前一直认为workerman源码理解起很复杂,这段时间花了3个下午研究,其实只要理解 php如何守护化进程、信号、多进程、libevent扩展使用,对于如何实现就比较轻松了。 相关代码都在github地址里,具体注释都有。 重点,重点,重点 ps: 这里需要注意2点,我就是在这2点琢磨了好久。 1 阅读全文
posted @ 2018-04-23 14:14 睡着的糖葫芦 阅读(2619) 评论(0) 推荐(0) 编辑
孤儿进程与僵尸进程[总结](转)
摘要:原文地址:http://www.cnblogs.com/Anker/p/3271773.html 1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入, 阅读全文
posted @ 2018-04-19 13:50 睡着的糖葫芦 阅读(267) 评论(1) 推荐(0) 编辑
PHP的多进程--防止僵尸进程(转)
摘要:原文地址:http://twei.site/2017/08/08/PHP%E7%9A%84%E5%A4%9A%E8%BF%9B%E7%A8%8B-%E9%98%B2%E6%AD%A2%E5%83%B5%E5%B0%B8%E8%BF%9B%E7%A8%8B/ 正文 多进程编码中,一个不得不注意的问题就 阅读全文
posted @ 2018-04-19 12:03 睡着的糖葫芦 阅读(1887) 评论(0) 推荐(0) 编辑
WorkerMan源码分析(resetStd方法,PHP中STDIN, STDOUT, STDERR的重定向)
摘要:WorkerMan中work.php中 resetStd 方法中代码如下 命令行下运行以上程序,将不会在控制台输出任何内容,输出内容将被重定向到/dev/null中,非常诧异,一直不理解。$STDOUT, $STDERR 这并不是内置的变量, 只是普通的一个变量名称而已。为什么通过这样处理,就能实现 阅读全文
posted @ 2018-04-19 10:38 睡着的糖葫芦 阅读(406) 评论(0) 推荐(0) 编辑
PHP系统编程--PHP进程信号处理(转)
摘要:原地址:https://www.cnblogs.com/linzhenjie/p/5485436.html PHP的pcntl扩展提供了信号处理的功能,利用它可以让PHP来接管信号的处理,在开发服务器端守护进程方面,信号处理至关重要。 函数原型 bool pcntl_signal(int $sign 阅读全文
posted @ 2018-04-16 11:02 睡着的糖葫芦 阅读(1615) 评论(0) 推荐(0) 编辑
ReactPHP── PHP版的Node.js(转)
摘要:原文地址:http://www.csdn.net/article/2015-10-12/2825887 摘要:ReactPHP作为Node.js的PHP版本。在实现思路,使用方法,应用场景上的确有很多相似之处。但是ReactPHP毕竟比Node.js年轻,目前生态圈还是不如Node.js完善。目前文 阅读全文
posted @ 2018-03-29 08:13 睡着的糖葫芦 阅读(396) 评论(0) 推荐(0) 编辑
PHP守护进程化
摘要:什么是守护进程? 一个守护进程通常补认为是一个不对终端进行控制的后台任务。它有三个很显著的特征:在后台运行,与启动他的进程脱离,无须控制终端。常用的实现方式是fork() -> setsid() -> fork() 在glibc里有一个函数daemon。调用此函数,就可使当前进程脱离终端变成一个守护 阅读全文
posted @ 2017-11-20 16:57 睡着的糖葫芦 阅读(3054) 评论(0) 推荐(0) 编辑
PHP declare(ticks=N); 的作用
摘要:一般用法是 declare(ticks=N);拿declare(ticks=1)来说,这句主要作用有两种: 1、Zend引擎每执行1条低级语句就去执行一次 register_tick_function() 注册的函数。可以粗略的理解为每执行一句php代码(例如:$num=1;)就去执行下已经注册的t 阅读全文
posted @ 2016-08-23 16:29 睡着的糖葫芦 阅读(3912) 评论(1) 推荐(1) 编辑
php多进程pcntl学习-僵尸进程
摘要:上个月写的文章,php多进程pcntl学习(一)现在发现并不完整,因为虽然提到了关闭子进程,但是并没有回收子进程,简单的说就是当子进程比父进程先退出,而父进程没对其做任何处理的时候,子进程将会变成僵尸进程。 执行命令可以看见,子进程变为僵尸进程 僵尸进程虽然不占什么内存,但是很碍眼,院子里一堆躺着的 阅读全文
posted @ 2016-08-23 15:29 睡着的糖葫芦 阅读(1266) 评论(0) 推荐(0) 编辑
php多进程pcntl学习(采集新浪微博)
摘要:上面2篇文都简明了多进程中一些需要注意的地方,这次用多进程配合curl_mulit_*来做新浪微博的采集。 先把知识点和值得注意的坑列出 主要的执行代码如下: ps:当url多的时候,redis的hMset会报错 send 太大的数据。这里就不解决了,不影响正常使用。 整个实例下载:http://f 阅读全文
posted @ 2016-07-08 09:56 睡着的糖葫芦 阅读(1115) 评论(0) 推荐(1) 编辑
php多进程pcntl学习(二)
摘要:多进程中数据独立,变量无法共享,所以可以使用shmop共享内存实现(cli模式不支持APC扩展),或者存储到redis这种nosql中。 下面实例,开10个进程结合redis集合,做一些简单的任务处理。 上面代码 开启10个进程来处理 redis中 webpub集合中的任务,这里的任务比较简单就是生 阅读全文
posted @ 2016-07-08 09:25 睡着的糖葫芦 阅读(337) 评论(0) 推荐(0) 编辑
php多进程pcntl学习(一)
摘要:pcntl在windows下无法使用,linux编译php时加上参数--enable-pcntl 即可。第一次使用pcntl模块,遇到了一些坑也慢慢填上了,这里简单记录下。 1. 子进程之间变量无法共享。 2. 子进程完成,记得加上exit(),子进程退出,否则会有坑。 参考: https://se 阅读全文
posted @ 2016-07-07 17:56 睡着的糖葫芦 阅读(825) 评论(0) 推荐(0) 编辑


< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示