bm2,MoonBit实现的pm2替代品

今天给大家分享一个我写的工具,bm2,一个用 MoonBit 实现的 pm2 替代品。

仓库地址:github.com/chenbimo/bm...。

有人可能要纳闷了,pm2 用得好好的,为啥要替代?

提示:时间有限,当前工具还没提供在线安装,更新,讨论交流请于文末联系。

为啥要替代 pm2?

pm2 是 Node 生态的老牌进程管理工具,确实好用。

但我日常使用的命令只有几个,pm2的命令有几十个,90%的功能我用不上。

所以我就想,能不能自己写一个更轻、更简单的?

于是,bm2 就诞生了。

bm2 是啥?

一句话:bm2 是 pm2 的替代品,专门用来在 linux 系统环境下管理 Nodejs 和 Bunjs 运行的项目。

它用 MoonBit 语言编写,整个工具就两个文件,拿到就能用。

用起来有多简单呢?

先写一个配置文件,告诉它你的应用在哪:

ini 复制代码
# bm2.toml
[[apps]]
name = "api"
cwd = "/srv/api"
script = "index.ts"
instances = 2
base_port = 3000

然后一条命令启动:

sql 复制代码
bm2 start

完事了。

它有多轻?

这是我本机真实测量的结果:

项目 数据
bm2 程序体积 2.8 MB
后台服务体积 3.0 MB
常驻内存 2.7 MB
命令响应 3 毫秒

就一个字:轻。

后台服务长期跑着,内存占用不到 3 兆,比一个网页还轻。

命令响应 3 毫秒,感觉不到任何延迟。

它能干哪些活?

  • 自动重启:应用崩了,它马上帮你拉起来,不用你半夜爬起来看日志。
  • 内存保护:应用内存超了,它自动处理,不会让一个坏应用拖垮整台机器。
  • 多实例运行:一个应用开好几个实例,端口自动分配,模拟线上环境很方便。
  • 状态查看:应用是死是活、占了多少内存、跑了多久,一条命令全部看得到:
  • 一键停止:不想跑了,一条命令全部停掉:
  • 手滑保护:停掉全部应用这种危险操作,它还会让你先确认一下。
  • 更新不中断:后台服务要升级?一条命令搞定,你的应用全程不用停机。

为啥用 MoonBit 写?

MoonBit 是一门比较新的编程语言,语法非常简洁。

有多简洁呢?看一个例子:

go 复制代码
fn main {
  println("Hello, bm2!")
}

它的好处,正好对应了上面那些数据。

  • 程序小:MoonBit 编译出来的二进制非常紧凑,所以 bm2 只有 2.8 兆。
  • 跑得快:编译成机器码直接运行,所以命令响应只要 3 毫秒。
  • 省内存:没有运行时拖累,所以常驻内存只有 2.7 兆。
  • 语法简单:我写起来很舒服,加功能、修 bug 都很快,bm2 才能持续打磨。

说实话,用 MoonBit 写这种系统级的小工具,是非常合适的搭配。

而且 MoonBit 生态也在慢慢长大,包管理、构建工具都挺齐全,写工具的门槛越来越低。

MoonBit官网 https://www.moonbitlang.cn/

写在最后

如果你也在找 pm2 的替代品,想要一个更轻、更简单、更省心的进程管理工具,不妨试试 bm2。

它是用 MoonBit 写的,这是 MoonBit 在系统工具领域的一个真实落地。

如果本文对你有帮助,欢迎一键三连,给我一些支持和鼓励,谢谢。

不知道你怎么看呢?欢迎在评论区留言。

感谢阅读,我是前端之虎陈随易,公众号 陈随易,个人网站:https://chensuiyi.me。

相关推荐
CHHH_HHH1 小时前
【Linux网络篇】初识网络与Socket编程基础
linux·服务器·c语言·开发语言·网络·后端·1024程序员节
弦儿1 小时前
后端 Web 实战:员工管理(新增员工 + 事务管理 + 文件上传)
java·后端
Solara1 小时前
进推荐流的文章不是快 1.42 倍,是 3.36 倍:我把错的数写进了长期记忆
人工智能·程序员·ai编程
Gopher_HBo1 小时前
Go reflect包值操作 Value 的读写、可设置性与 interface 布局
后端
小poop1 小时前
HTML 基础入门:从结构到常用标签详解
前端
jiangliushi61 小时前
GPT-6.1 Sol 免费用:PowerShell 装 Codex 报“禁止运行脚本 npm.ps1”?一条命令解决
前端·gpt·npm
计算机魔术师2 小时前
日均500万亿词元,国内推理速度翻倍却仍落后国外——差距卡在哪
前端
excel2 小时前
用 Node.js 搭建一套可持续获客的 SEO 内容系统:前端工程师 30 天实战方案
前端·后端
阿良别做梦2 小时前
LangGraph 学习之路:给文档摘要接上模型
后端·开源
yma162 小时前
从零搭建 P2P 聊天室:yma16.cloud 在线工具实战
前端·1024程序员节