码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • service 自我升级遇到的问题


    升级思路

    1. 服务先创建子进程执行升级脚本
    2. 脚本停止服务
    3. 脚本复制替换需要更新的文件
    4. 脚本再次启动服务

    执行起来,发现脚本停止服务后,立马跟随服务一起停止。所以只能停止服务,后续步骤无法完成。无论是linux 还是windows,都有这种问题。

    linux 和windows的服务思路

    • windows 创建一个服务进程,然后利用服务进程守护work进程
    • linux 服务进程无需创建,利用systemd守护work进程

    问题原因

    windows
    服务进程创建work进程时,一般都会创建job,同时设置JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE
    效果是,只要服务进程退出,那么它创建的work进程也会全部退出,连同work进程的子进程,孙进程。。。
    脚本随着work进程一并退出的原因就在这
    其实也很好解决,利用JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK 就可以让work进程的子进程自动脱离Job,从而避免被杀
    或者创建work进程时加上JOB_OBJECT_LIMIT_BREAKAWAY_OK,work进程创建子进程(升级)的时候设定CREATE_BREAKAWAY_FROM_JOB,也可以脱离Job避免被杀

    linux
    systemd(1)创建work进程时,默认是control-group,和windows的job作用类似
    效果是,只要work进程退出,那么它创建的子进程,孙进程。。。也会全部退出
    解法也很简单
    设置 KillMode=process 就可以让work进程的子进程避免被杀
    但是work的子进程管理就需要work进程自己精细控制了

  • 相关阅读:
    霸王条款惹品牌争议,京东双11站在商家对立面?
    gitlab-runner 中的 Docker-in-Docker
    进程间通信:无名管道+有名管道
    springboot+vue校园篮球比赛预约报名平台java maven
    三维全景融合拼接技术
    紫光同创FPGA编写的8画面分割器演示
    什么软件可以查月经周期,检测月经周期的软件
    Linux内存管理(十):unflatten_device_tree 详解
    View绘制流程1-View与Window的关系
    Uniapp连接iBeacon设备——实现无线定位与互动体验(理论篇)
  • 原文地址:https://blog.csdn.net/qq_15328161/article/details/127130588
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号