Linux 有没有自带的 process manager?

2019 年 2 月 4 日
 Pencilrain
监控某个程序,若(任意原因)退出,就自动重新运行,可以加条件,如监控返回值 /输出、设置最多运行次数,最小时间间隔等

功能类似于 npm 的 pm2/forever,这些也可以用,但想知道 Linux 有没有自带的命令(不要脚本),谢谢
5352 次点击
所在节点    Linux
16 条回复
est
2019 年 2 月 4 日
systemd

实在不行自己写个脚本
luozic
2019 年 2 月 4 日
有 python 版本的守护程序。
yanzixuan
2019 年 2 月 4 日
@luozic 你说的是 supervisor ?
yuikns
2019 年 2 月 4 日
http://supervisord.org/
要是是在容器,也可以试试这个:
https://github.com/ochinchina/supervisord
anguiao
2019 年 2 月 4 日
systemd 可以把 restart 设成 always,就可以自动重启了
Cbdy
2019 年 2 月 4 日
systemd-run
luozic
2019 年 2 月 4 日
@yanzixuan 是的,現在 gayhub 上有 rust or go 版本的。
yanaraika
2019 年 2 月 4 日
systemd user unit file. pm2/supervisor 相对于 systemd/openrc/sysvinit 就是弟弟
Pencilrain
2019 年 2 月 4 日
目前来看 pm2 比较方便,除了需要 runtime
libook
2019 年 2 月 4 日
systemd 能满足需求
jam1024
2019 年 2 月 4 日
watch -n 3 "你要执行的程序"

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

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

https://study.congcong.us/t/532931

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

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

© 2021 V2EX