Golang Go语言 终端进程管理工具
最近维护了一个类似 nodejs 的 pm2 进程管理工具 pmgo
今天发布了 0.1.0 版,虽然还有很多的东西需要完善,但是基础的功能都能使用。欢迎大家 star 或者提交 pr.
另外项目中获取 cpu 和 memory 的 package 也是我维护的,但在这一版暂不支持 windows ,导致该项目不支持 windows 平台,然而这个问题将在下一版解决,不支持的原因就是我身边没有 windows 的电脑。。。
最后,放上连接: https://github.com/struCoder/pmgo
Golang Go语言 终端进程管理工具
更多关于Golang Go语言 终端进程管理工具的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
5 回复
多谢:)
建议跟 pm2 一样采用 service 形式,用 systemd 之类的保障 daemon 进程
早就期待有个这样的工具诞生了~
关于Golang(Go语言)中的终端进程管理工具,以下是一些值得推荐的工具:
- god:一个基于Golang开发的进程管理工具,它可以启动和监控多个Golang进程,并提供进程状态监控、日志记录、自动重启和平滑重启等功能。
- gopsutil:一个Golang的进程管理工具库,可以获取和操作系统进程相关的信息,包括进程列表、进程状态、进程资源使用情况等。
- Supervisor:虽然基于Python开发,但支持多种语言,包括Golang。它可以监控、启动、停止和重启多个进程,并提供进程状态监控和日志记录等功能。
- PM2:基于Node.js的进程管理工具,同样支持多种语言,包括Golang。它以守护进程的方式启动和监控多个进程,并提供进程状态监控、日志记录、自动重启和负载均衡等功能。
- Monit:一个轻量级的进程监控工具,支持多种语言,包括Golang。它可以监控多个进程的运行状态,当进程异常时可以自动重启,并提供进程状态监控、日志记录和报警等功能。
此外,虽然Golang标准库并没有直接提供进程管理的功能,但可以通过os/exec
包来创建和控制外部命令(即进程),以及结合os
包和syscall
包来实现更底层的进程控制。
综上,选择哪种工具取决于具体需求和场景,建议根据实际需求进行选择和配置。