首页 > 作文

PHP程序守护进程化实现方法详解

更新时间:2023-04-08 21:49:23 阅读: 评论:0

一般rver程序都是运行在系统后台,这与普通的交互式命令行自主招生程序有很大的区别。glibc里有一个函数daemon。调用此函数,就可使当前进程脱离终端变成一个守护进程,具体内容参见man daemon。php中暂时没有此函数,当然如果你有兴趣的话,可以写一个php的扩展函数来实现。

php命令行程序实现守护进程化有2种方法:

一 、使用nohup

nohup php myprog.php > log.txt &铁凝散文

这里就实现了守护进程化。

单独执行 php myprog.php,当按下ct虎兄虎弟rl+c时就会中断程序执行,会kill当前进程以及子进程。

php myprog.php &,这样执行程序虽然也是转为后台运行,实际上漏网之鱼成语故事是依赖终端的,当用户退出终端时进程就会被杀掉。

二、使用php代码来实现

function daemonize() {  $pid = pcntl_fork();  if ($pid == -1) {    die("fork(1) failed!\n");  }  elif($pid > 0) {    //让由用户启动的进程退出    exit(0);  }  //建立一个有别于终端的新ssion以脱离终端  posix_tsid();  $pid = pcntl_fork();  if ($pid == -1) {    die("fork(2) 广东高考总分failed!\n");  }  elif($pid > 0) {    //父进程退出, 剩下子进程成为最终的独立进程    exit(0);  }}daemonize();sleep(1000);

用上面代码即可实现守护进程化,当你的php程序需要转为后台运行时,只需要调用一次封装好的函数daemonize()即可。
注:这里没有实现标准输入输出的重定向。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-08 21:49:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/6ee50e7cae487d6d5e89347f0d2139ce.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP程序守护进程化实现方法详解.doc

本文 PDF 下载地址:PHP程序守护进程化实现方法详解.pdf

标签:进程   终端   函数   程序
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图