Golang Go语言中大家都用什么管理进程?

发布于 1周前 作者 caililin 来自 Go语言

Golang Go语言中大家都用什么管理进程?
有没有类似 PM2 的进程管理软件?

23 回复

supervisor?

更多关于Golang Go语言中大家都用什么管理进程?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


有没有比这个更智能,有 UI 的呢?

supvisor 有 ui 啊

Linux 控制台界面的 UI 吗?还是说那个 localhost 网页上的吧。

本来写了一大堆…… 结果回复要验证手机……
1.PM2 可以管理任意进程
2. systemd
3. supvisor

原来好多人都是不用所谓的“进程管理”软件不舒服斯基的主……

公开发行的话,systemctl、sysv-init 走起。
公司批量的话,supervisord 这种老牌的走起。
个人的话,while true; do your_golang_app; sleep 1; done 一把梭-_-😂

systemd 好简单的,照着模板搞一下就好了

用 docker 不影响性能吗?

go 的进程就是最平平无奇的一个进程了,所有能管理进程的都可以.现在在用 supervisor.不过功能也就那样了,平平无奇…

你想要有什么花样的进程?

systemctl 就行了,现在最新 Linux 发行版都带

Google: golang pmgo

路过

简单粗暴有效

screen 给漏了…

systemd,简单粗暴,唯一要注意的把失败重启策略稍微搞一搞

让运维去管……
运维用 k8s,k8s 用 docker
docker 带来性能问题?程序员的性能更重要!

在Golang中,管理进程通常涉及创建、监控、控制和终止等操作。虽然Golang本身没有专门的进程管理库,但开发者可以借助操作系统提供的工具和库来实现这些功能。

一般来说,Golang标准库中的os/exec包是管理外部命令(即进程)的主要工具。通过exec.Command函数可以创建一个新的进程,并调用RunStartOutput等方法来启动和获取该进程的输出。此外,os包和syscall包也提供了底层的系统调用,可用于更精细的进程控制,如发送信号给进程。

对于进程监控,虽然Golang标准库没有直接提供CPU使用率、内存占用等高级功能,但开发者可以通过读取操作系统的特定文件(如Linux的/proc文件系统)或使用操作系统API来获取这些信息。同时,也可以使用第三方库来简化这些操作。

在实际应用中,开发者通常会根据具体需求选择合适的工具和库来管理进程。例如,对于简单的进程启动和终止,os/exec包通常已经足够;而对于更复杂的进程监控和管理,可能需要结合操作系统特性和第三方库来实现。

总之,在Golang中管理进程需要综合利用标准库和操作系统提供的工具,以及根据具体需求选择合适的解决方案。

回到顶部