利用PHP操作Linux消息队列完成进程间通信这qnum最大长度修改。

jackxiang 2013-5-22 10:37 | |
膘叔(19129***)  上午 09:51:54
求科谱:msg_stat_queue中,那个qnum最大只有40,也就是我同时只能最大处理40个队列,能不能再大一点?
维尼熊(380139***)  上午 09:53:19
可以
膘叔(19129***)  上午 09:53:37
怎么调整?
维尼熊(380139***)  上午 09:53:52

/proc/sys/fs/mqueue/msg_max

[root@test ~]# cat /proc/sys/fs/mqueue/msg_max
10



当我们开发的系统需要使用多进程方式运行时,进程间通信便成了至关重要的环节。消息队列(message queue)是Linux系统进程间通信的一种方式。

  关于Linux系统进程通信的概念及实现可查看:http://www.ibm.com/developerworks/cn/linux/l-ipc/

  关于Linux系统消息队列的概念及实现可查看:http://www.ibm.com/developerworks/cn/linux/l-ipc/part4/
  PHP的sysvmsg模块是对Linux系统支持的System V IPC中的System V消息队列函数族的封装。我们需要利用sysvmsg模块提供的函数来进进程间通信。先来看一段示例代码_1:


这段代码的运行结果如下


可以看到已成功从消息队列中读取“Hello,World!”字符串
下面列举一下示例代码中的主要函数:



示例代码_1只是展示了PHP操作消息队列函数的应用。下面的代码具体描述了进程间通信的场景



运行结果为:




这段程序每次的运行结果都会不同,这正说明了多进程的异步性。从结果也能看出消息队列FIFO特性。

以上便是我研究的一点心得。接下来将会继续研究PHP利用信号、socket等进行进程间通信的方法。

来自:http://www.cnblogs.com/TechZi/archive/2010/07/23/1783342.html
手册:http://www.blabla.cn/z/php_cn/function.msg-stat-queue.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/6381/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2013-5-22 10:37
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]