Linux 有没有自带的 process manager?

2019-02-04 08:01:57 +08:00
 Pencilrain
监控某个程序,若(任意原因)退出,就自动重新运行,可以加条件,如监控返回值 /输出、设置最多运行次数,最小时间间隔等

功能类似于 npm 的 pm2/forever,这些也可以用,但想知道 Linux 有没有自带的命令(不要脚本),谢谢
4747 次点击
所在节点    Linux
16 条回复
est
2019-02-04 08:08:00 +08:00
systemd

实在不行自己写个脚本
luozic
2019-02-04 09:03:10 +08:00
有 python 版本的守护程序。
yanzixuan
2019-02-04 09:15:06 +08:00
@luozic 你说的是 supervisor ?
yuikns
2019-02-04 09:21:22 +08:00
http://supervisord.org/
要是是在容器,也可以试试这个:
https://github.com/ochinchina/supervisord
anguiao
2019-02-04 09:56:44 +08:00
systemd 可以把 restart 设成 always,就可以自动重启了
Cbdy
2019-02-04 09:57:51 +08:00
systemd-run
luozic
2019-02-04 10:19:10 +08:00
@yanzixuan 是的,現在 gayhub 上有 rust or go 版本的。
yanaraika
2019-02-04 10:59:32 +08:00
systemd user unit file. pm2/supervisor 相对于 systemd/openrc/sysvinit 就是弟弟
Pencilrain
2019-02-04 11:31:24 +08:00
目前来看 pm2 比较方便,除了需要 runtime
libook
2019-02-04 11:38:08 +08:00
systemd 能满足需求
jam1024
2019-02-04 12:29:53 +08:00
watch -n 3 "你要执行的程序"

-n 为参数设置程序如果结束后自动多少秒重启
Cbdy
2019-02-04 15:59:56 +08:00
@Pencilrain
目前我司用 PM2 来跑 Java 进程,效果良好
没有持续发布需求可以考虑 systemd unit
一步到位选 Docker ( k8s ),需要有一定运维能力
我已经考察过了,开源世界没有其他更好的解决方案了
Cbdy
2019-02-04 16:01:15 +08:00
Linux 自带命令就是我 6 楼说的那个
janxin
2019-02-04 23:26:36 +08:00
@Cbdy 持续发布需求 systemd 也没什么问题呀
Cbdy
2019-02-04 23:31:42 +08:00
@janxin 没有 PM2 好用
janxin
2019-02-05 00:33:12 +08:00
@Cbdy 我觉得主要区别是 pm2 有个比较漂亮的前端,其他的功能似乎一样的呀,systemd 甚至更多一点

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

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

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

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

© 2021 V2EX