PHP模拟守护进程

转载地址:http://www.cnblogs.com/birdman/archive/2011/08/27/2155837.html


守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件,像C,python,java等语言都支持守护进程,到目前为止,PHP暂不支持守护进程,浏览器每发起一次访问请求时,web服务器调用PHP,PHP执行请求并返回结果后就关闭了,变量无法常驻内存的,虽然你也可以把变量存储到文件、Memcache、Redis中去供下次调用,但链接其实是新建的。

  其实在PHP中实现守护进程,还是有办法模拟的,主要运用到Linux的nohup命令,下面对这个命令进行介绍一下,具体可以查看相关手册。

  百度百科:  

  nohup 命令

  用途LINUX命令用法,不挂断地运行命令。

  语法:nohup Command [ Arg ... ] [ & ]

  描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

  有了此命令,我们就可以在PHP_CLI模式下创建一个死循环,用来模拟一个守护进程。

1.创建文件daemon.php

/**
  *daemon.php
  */
<?php
 
set_time_limit(0);
 
while (1){
     //run your code here..
}
 
?>

2.启动守护进程

nohup php -f daemon.php > log .php &

  其中,log.php为日志文件,即在while循环中输出的信息,&表示脱离终端,放到后台执行


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值