博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php后台守护进程+进程信号处理
阅读量:6970 次
发布时间:2019-06-27

本文共 713 字,大约阅读时间需要 2 分钟。

  hot3.png

0) { exit(0);//父进程退出}//子进程成为新的会话组长posix_setsid();//为禁止第一子进程打开控制终端,需要创建第二子进程,具体我也不清楚什么原理$pid = pcntl_fork();if ($pid == -1) { exit("fork2 failed!\n");}elseif($pid > 0) { exit(0);}echo "进程id:".posix_getpid()."\n";$open = true;function sig_handler($signo){ global $open; switch ($signo) { //自定义信号SIGUSR1 case SIGUSR1: echo "你好啊,我继续跑\n"; break; case SIGTERM: echo "等这次循环结束我就关闭\n"; $open = false; break; default: # code... break; }}pcntl_signal(SIGUSR1,'sig_handler');pcntl_signal(SIGTERM,'sig_handler');//这行代码很重要,这样每执行一条低级语句就能检查信号,否则无限循环中无法检测到进程信号declare(ticks=1);while($open){ echo date('Y-m-d H:i:s')."\n"; sleep(1);}echo "我退出了88";exit;

转载于:https://my.oschina.net/cxz001/blog/629770

你可能感兴趣的文章
马哥第3期运维班第五周作业
查看>>
nginx的简单rewrite规则和开启密码认证功能
查看>>
【RHEL5.5】Linux下RPM包安装GCC
查看>>
python 集合、函数
查看>>
《从零开始学Swift》学习笔记(Day43)——构造函数继承
查看>>
mysql dba系统学习(4)mysql的多实例multi启动停止
查看>>
TabHost 置于底部 顶部的方法
查看>>
【HTML5】一起学习canvas【一】
查看>>
2017年Linux运维人员必会开源运维工具体系
查看>>
Spring Struts2 Hessian集成的一个问题
查看>>
BFC的形成条件和特性分析
查看>>
关于内存泄漏的调试方法
查看>>
中文乱码
查看>>
如何学好C++语言
查看>>
2.4 运算符与表达式
查看>>
保存时提示没有root permission
查看>>
反转链表
查看>>
安卓中的事件分发机制之View控件
查看>>
application内置对象
查看>>
iphone5手机端内容超出iphone6没问题且超出内容为http://.....网址
查看>>