首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >热更新由upstart或systemd启动服务

热更新由upstart或systemd启动服务
EN

Stack Overflow用户
提问于 2017-08-18 23:48:35
回答 1查看 40关注 0票数 0

由Upstart或systemd启动的服务,我想要热更新它。更新后,新的服务进程正在运行,然后杀死由upstart或systemd启动的旧服务进程。最后,新进程可以像旧进程一样由启动进程或systemd进行监控。

EN

回答 1

Stack Overflow用户

发布于 2017-11-15 08:23:22

你没说你的服务是做什么的。我是在回答最简单的情况,一个具有短期连接的网络服务,比如HTTP服务器。

  1. 让系统拥有插座。搜索"systemd套接字激活“(stackoverflow search)。我在Go here中描述了如何做到这一点:https://www.darkcoding.net/software/systemd-socket-activation-in-go/
  2. While服务正在运行,用新的one.
  3. systemctl restart <myservice>

替换磁盘上的二进制文件

在实践中,你的服务中经常会有一些状态,你需要在关机时保持,并在启动时加载。

服务关闭可能需要等待一段时间,直到它的所有请求完成。

对于具有许多长期TCP连接(如XMPP服务器)的更困难的情况,这不再是systemd的问题,您必须协调新旧进程以将套接字从一个进程传递到另一个进程。我用Online upgrades in Go来描述它,但它有更多的工作要做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45760543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档