参考原文 https://blog.csdn.net/ldy3243942/article/details/40712475

代码用的原来只是自己加了一些操作流程

swoole_reload_server.php

<?php
/*** Example for swoole reload php code without shutdowning server.** @author Lancelot https://github.com/LinkedDestiny*/
class Server
<?php
/*** Example for swoole reload php code without shutdowning server.** @author Lancelot https://github.com/LinkedDestiny*/
class Server
{private $serv;public function __construct() {$this->serv = new swoole_server("0.0.0.0", 9501);$this->serv->set(array('worker_num' => 8,'daemonize' => false,'max_request' => 10000,'dispatch_mode' => 2,'debug_mode'=> 1,));$this->serv->on('Start', array($this, 'onStart'));$this->serv->on('WorkerStart', array($this, 'onWorkerStart'));$this->serv->on('Connect', array($this, 'onConnect'));$this->serv->on('Receive', array($this, 'onReceive'));$this->serv->on('Close', array($this, 'onClose'));$this->serv->start();}public function onStart( $serv ) {echo "Start\n";cli_set_process_title("reload_master");}public function onWorkerStart( $serv , $worker_id) {require_once "reload_page.php";Test();}public function onConnect( $serv, $fd, $from_id ) {echo "Client {$fd} connect\n";}public function onReceive( swoole_server $serv, $fd, $from_id, $data ) {echo "Get Message From Client {$fd}:{$data}\n";}public function onClose( $serv, $fd, $from_id ) {echo "Client {$fd} close connection\n";}
}
new Server();

reload.sh

echo "Reloading..."
cmd=$(pidof reload_master)kill -USR1 "$cmd"
echo "Reloaded"

reload_page.php

<?php
/*** If you change this function and want* swoole_server to use the new function,* just run 'reload.sh' to send a restart* signal to swoole_server.*/
function Test() {echo "This is not a php file\n";
}

操作流程如下

这个时候 reload_page.php 函数还是

大神代码里的注释试修改这个 那么我们开始修改 再执行.sh脚本 看看是否有变化

尝试修改为

然后执行脚本呢  脚本 记得 chmod a+x 授权一下

发现这个原来的sever改变了

变成了 i‘m  fun  这里没加换行  大概就这样实现了热重启

swoole 热重启相关推荐

  1. 【Flutter】Flutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )

    文章目录 前言 一.混合开发中启用 Flutter 的 热重启 / 热加载 二.混合开发中 Flutter 的 热重启 / 热加载 命令测试 三.指定混合应用连接的设备 四.相关资源 前言 上一篇博客 ...

  2. Go 如何实现热重启

    作者:zhijiezhang,腾讯 PCG 后台开发工程师 最近在优化公司框架 trpc 时发现了一个热重启相关的问题,优化之余也总结沉淀下,对 go 如何实现热重启这方面的内容做一个简单的梳理. 1 ...

  3. exec go 重启_如何用 Go 实现热重启

    热重启 热重启(Zero Downtime),指新老进程无缝切换,在替换过程中可保持对 client 的服务. 原理 父进程监听重启信号 在收到重启信号后,父进程调用 fork ,同时传递 socke ...

  4. golang iris web项目热重启

    在开发web的时候,如果项目不支持热重启,每添加或修改个接口都需要重启项目才能测试,会很麻烦.都知道beego有bee工具,bee run启动项目即可,而在iris项目中热重启方法如下 # 安装riz ...

  5. Flutter开发(二十九):Flutter热重启、热加载、调试与发布应用

    1.Flutter热重启.热加载 2.混合开发调试 dart 代码 3.发布应用 1.Flutter热重启.热加载 Flutter自带热重启/热加载的功能,但是到了 Android 项目中集成 Flu ...

  6. swoole的PHP热重启,swoole如何重启

    在swoole中,我们可以向主进程发送各种不同的信号,主进程根据接收到的信号类型做出不同的处理. 比如下面这几个 (推荐学习:swoole视频教程)1.kill -SIGTERM|-15 master ...

  7. hyperf 热重启

    安装Watcher(在项目根目录下安装) composer require hyperf/watcher --dev 生成Watcher配置文件 php bin/hyperf.php vendor:p ...

  8. 关于mysql的热重启的命令

    为什么80%的码农都做不了架构师?>>>    在工作中,因需求,需要保证mysql重启不丢失数据,下面这个命令就可以做到啦 /etc/init.d/mysqld reload 转载 ...

  9. 将hyperf后台运行并热重启

    下载两个文件 nohup ./zls-watch &

最新文章

  1. 直播|微软徐一翀:在常识问答中超越人类水平!自注意力与外注意力机制
  2. WPF DataGrid横向显示
  3. 哪里可以接到python的活干-学了Python以后,我干了很多不是人干的活
  4. C++关键字:重学记录
  5. linux_shell_根据网站来源分桶
  6. 深入理解计算机系统——bomblab
  7. Spring : Spring Aop CGLIB动态代理调用过程
  8. pip 错误:ModuleNotFoundError: No module named pip
  9. exists查询慢_8个SQL查询效率优化原则
  10. python 日期的周数_术业有专攻:日期时间模块datetime
  11. 网络安全应急响应实施过程
  12. 2021年中国兽医热疗室市场趋势报告、技术动态创新及2027年市场预测
  13. Facial landmarks: 使用 dlib, OpenCV, and Python提取面部标志点
  14. 如何在图片里藏其他文件
  15. 【樂理】中國古典音樂樂理
  16. 现代密码学大作业(一):实现单表替换的频率分析(python3.7)
  17. (一)JAVA基于OPENXML的word文档插入、合并、替换操作系列之基础篇
  18. 2019杭电多校第七场 Kejin Player HDU - 6656 (期望)
  19. Navicat导出ncx文件并解密连接密码
  20. idea不用鼠标写代码

热门文章

  1. 吴恩达|机器学习作业6.0支持向量机(SVM)
  2. POJ - 3984
  3. Google code android开源项目(五)
  4. apt-get常见错误
  5. python打印文件到字符串_请问Python打印字符串到文本文件
  6. 本硕一致计算机科学与技术专业介绍,哈尔滨理工大学计算机科学与技术专业介绍...
  7. discuz php 扩展环境 不支持,配置php扩展memcache
  8. Java枚举(Enum)类型使用的正确姿势
  9. 项目管理需要使用到的图表
  10. Extjs 实现Iframe的子窗口遮罩整个页面