启动监控进程 目前 Linux 下推荐哪个的?

361 天前
 nodejsexpress

以前自己用的比较多的是

一般现在用什么比较多?

2724 次点击
所在节点    Linux
23 条回复
zreateny
361 天前
supervisor 或者 watchdog
nigerunndayo
361 天前
有哪位前辈能根据使用经验说一下这几个的区别吗?
cnleon
361 天前
systemd 吧,操作系统自带的
Maboroshii
361 天前
systemd 吧,系统自带的还是稳点。
IvanLi127
361 天前
systemd 感觉挺 ok 的
话说现在不都上容器化了嘛😏
OceanBreeze
361 天前
@Maboroshii
@IvanLi127

systemd 可以批量起多个进程吗?谢谢。
Maboroshii
360 天前
@OceanBreeze 一个进程定义一个服务应该就可以
nevermoreluo
360 天前
三个都用过,以下是个人感觉
易用性上 pm2 好,端口复用, 程序多开,日志分割统统都可以用 pm2 解决
稳妥上还是 systemd
supervisor ,咋说呢,好几年前用过,稳定也挺稳定的,配置完之后也没太多改动,但是状态查看/管理,确实比 PM2 差很多
sdsaaeee
360 天前
docker
libook
360 天前
已经用容器很多年了。

不用容器的话,pm2 对开发友好一些,部署的话 systemd 更通用。
libook
360 天前
@OceanBreeze #6 可以了解以下 systemd 的 target 机制。systemd 功能挺强大的,可以调整启动顺序和依赖关系,比如服务 A 依赖服务 B ,可以通过配置来让 systemd 启动 B 成功后再启动 A 。
OceanBreeze
360 天前
@libook 这个我是知道的。我的意思是,假如我有一组进程,要启动 100 个。systemd 可以写一个 service 文件来完成吗?
xiaoz
360 天前
@OceanBreeze #12 ,你这种直接写 shell 得了
aloxaf
360 天前
@OceanBreeze #12 可以,systemd 支持模板
oneisall8955
360 天前
portainer stack 写 docker compose 文件,快的飞起
LoliconInside
360 天前
如果不打算容器化就用 systemd
如果愿意容器化,Docker Compose
如果觉得 Compose 起容器不好管理,Kubernetes
yanqiyu
360 天前
@OceanBreeze 写成模板 unit ,类似于 unitname@.service 然后启动的时候就 @ 0-99 就启动了 100 个
OceanBreeze
360 天前
@aloxaf 感谢,学习到了
ragnaroks
360 天前
用 systemd 的最多,虽然有很多人不喜欢,但是已经成为事实上的标准。

supervisor 则在容器大行其道的现在回光返照了一把,因为常用的容器实现都不支持单 container 多顶级 process 。
n1cogrv
360 天前
@OceanBreeze #18 补充一下 @nodejsexpress
https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#:~:text=Example%C2%A03.%C2%A0Top%20level%20drop%2Dins%20with%20template%20units

再加上 systemd 的 service 文件里面可以内嵌很多特殊变量,`%i`也仅仅是其中一个用来绑在`@`后面的 specifier ,还有很多变量可以在里面使用。

毕竟不选择 docker 那一套的话,自然你也会觉得 pm2 、supervisor 也不够稳妥。systemd 自带的那一堆 on-failure 、Requires 、PartOf 、Conflicts 考虑了很多种[强|弱|半]依赖情况以及一大堆 Condition 。只要肯吃透点文档,可用性会比 docker 那一套强一些。

具体可以看一下
https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/994459

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX