fork+exit+php,php实现简单的守护进程创建、开启与关闭操作
本文实例讲述了php实现简单的守护进程创建、开启与关闭操作。分享给大家供大家参考,具体如下:
前提要安装有pcntl扩展,可通过php -m查看是否安装
class Daemon {
private $pidfile;
function __construct() {
$this->pidfile = dirname(__FILE__).'/daemontest.pid';
}
private function startDeamon() {
if (file_exists($this->pidfile)) {
echo "The file $this->pidfile exists.\n";
exit();
}
$pid = pcntl_fork();
if ($pid == -1) {
die('could not fork');
} else if ($pid) {
echo 'start ok';
exit($pid);
} else {
// we are the child
file_put_contents($this->pidfile, getmypid());
return getmypid();
}
}
private function start(){
$pid = $this->startDeamon();
while (true) {
file_put_contents(dirname(__FILE__).'/test.txt', date('Y-m-d H:i:s'), FILE_APPEND);
sleep(2);
}
}
private function stop(){
if (file_exists($this->pidfile)) {
$pid = file_get_contents($this->pidfile);
posix_kill($pid, 9);
unlink($this->pidfile);
}
}
public function run($argv) {
if($argv[1] == 'start') {
$this->start();
}else if($argv[1] == 'stop') {
$this->stop();
}else{
echo 'param error';
}
}
}
$deamon = new Daemon();
$deamon->run($argv);
启动
关闭
顶一下
(0)
100%订阅
回复
踩一下
(0)
100%
fork+exit+php,php实现简单的守护进程创建、开启与关闭操作相关推荐
- Linux守护进程service Daemon 【C语言构建简单的守护进程】
Linux Daemon Writing HOWTO 这里视频讲的很清楚 牛客网-c/C++Linux课程-守护进程 int main() {// 1.创建子进程,退出父进程pid_t pid = f ...
- Linux中编写简单的守护进程
1.守护进程概述 守护进程就是通常所说的daemon进程,他是linux中的后台服务进程.他是一个生存期很长的进程,通常独立于控制终端并且周期性的执行某种任务,或等待处理魔种发生的事件.守护进程通常在 ...
- 创建一个简单的守护进程
下面的内容是看了书上总结来的. 要写这样的一个程序看似复杂,但是它也是遵循一定的规则的.书中的方法介绍了用五个步骤来创建一个简单的守护进程. 1.创建子进程,父进程退出 由于守护进程是在后台运行,脱离 ...
- Linux C语言 创建一个简单的守护进程
一.什么是守护进程? 首先我们先来简单了解一下什么是守护进程,守护进程在Linux中说白了就是一个后台进程,在后台默默服务,不受终端(会话)控制,生命周期长,在系统引导装入时启动,在系 ...
- Linux 守护进程创建原理及简易方法
1:什么是Linux下的守护进程 Linux daemon是运行于后台常驻内存的一种特殊进程,周期性的执行或者等待trigger执行某个任务,与用户交互断开,独立于控制终端.一个守护进程的父进程是in ...
- linux c 守护进程创建原理及简易方法
1:什么是Linux下的守护进程 Linux daemon是运行于后台常驻内存的一种特殊进程,周期性的执行或者等待trigger执行某个任务,与用户交互断开,独立于控制终端.一个守护进程的父进程是in ...
- C语言实现Linux系统的守护进程创建
大家好,我是练习编程时长两年半的昆工第一ikun,今天我们来分享一下进程的有关知识,并且用c语言来创建一个Linux系统的守护进程. 目录 一.进程相关接口函数 1.创建子进程 -- fork ( ...
- Linux 守护进程的原理与实现
一.守护进程概述 在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程.为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定 ...
- 《APUE》读书笔记—第十三章守护进程
守护进程也称为精灵进程是一种生存期较长的一种进程.它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.他们常常在系统引导装入时启动,在系统关闭时终止.unix系统有很多守护进程,大多数 ...
最新文章
- 【渝粤教育】 国家开放大学2020年春季 1444药理学(本) 参考试题
- UE4 多个static mesh合并成一个static mesh
- 摇杆控制方向原理_为工业安全守好”门”!各种方向的控制阀原理图大集合
- 小白来学C语言之字符串与指针
- Fortran 学习1--数据类型
- go语言多态接口样例
- AFA人工鱼群算法函数优化求解实例C++(2020.11.4)
- 穴位--程序健康之道
- liang-barsky_C和C ++中的Liang Barsky线裁剪算法
- costas环 matlab,数字Costas环的matlab仿真及其FPGA实现
- Unity3D场景对象无法显示
- 量子力学奇妙之旅-算符和电子自旋
- 如果redis哨兵宕机了怎么办_Redis 主从复制架构中出现宕机怎么办?以及哨兵功能...
- 2021UpdateC#.NET笔试题高级进阶篇
- 直播能为教育机构做些什么?授课和招生是必备的
- MySQL数据库安装
- java.lang.Class:是反射的源头
- 基于SSM的家教系统的设计与实现毕业设计-附源码221752
- STM32应用开发实践教程:基于 CAN 总线的多机通信应用开发
- shp数据入库、出库、可视化
热门文章
- linux 系统安装配置 zabbix服务(源码安装)
- CAS实现单点登录(SSO)经典完整教程
- 一到关于js函数的前端面试题引发的血案
- 线性表的表示和实现方式之链式表示和实现
- .NET : 再谈谈多线程
- 业界谈AI赋能传统金融:精细化、数字化、个性化成三大关键词
- python中if not是什么意思,python if not不同应用有什么区别,pythonifnot区别,python 中 "if...
- java里的局部变量为什么不能加static?
- 054_Unicode字符官方标准五
- 013_JDK的Collections类的sort方法的实现