Linux 控制台界面的 UI 吗?还是说那个 localhost 网页上的吧。
本来写了一大堆…… 结果回复要验证手机……
1.PM2 可以管理任意进程
2. systemd
3. supvisor
原来好多人都是不用所谓的“进程管理”软件不舒服斯基的主……
公开发行的话,systemctl、sysv-init 走起。
公司批量的话,supervisord 这种老牌的走起。
个人的话,while true; do your_golang_app; sleep 1; done 一把梭-_-😂
systemd 好简单的,照着模板搞一下就好了
docker ?
用 docker 不影响性能吗?
go 的进程就是最平平无奇的一个进程了,所有能管理进程的都可以.现在在用 supervisor.不过功能也就那样了,平平无奇…
你想要有什么花样的进程?
不建议 supervisor
https://github.com/Supervisor/supervisor/issues/807
k8s
systemctl 就行了,现在最新 Linux 发行版都带
Google: golang pmgo
ruby god
路过
简单粗暴有效
screen 给漏了…
systemd,简单粗暴,唯一要注意的把失败重启策略稍微搞一搞
让运维去管……
运维用 k8s,k8s 用 docker
docker 带来性能问题?程序员的性能更重要!
在Golang中,管理进程通常涉及创建、监控、控制和终止等操作。虽然Golang本身没有专门的进程管理库,但开发者可以借助操作系统提供的工具和库来实现这些功能。
一般来说,Golang标准库中的os/exec
包是管理外部命令(即进程)的主要工具。通过exec.Command
函数可以创建一个新的进程,并调用Run
、Start
或Output
等方法来启动和获取该进程的输出。此外,os
包和syscall
包也提供了底层的系统调用,可用于更精细的进程控制,如发送信号给进程。
对于进程监控,虽然Golang标准库没有直接提供CPU使用率、内存占用等高级功能,但开发者可以通过读取操作系统的特定文件(如Linux的/proc
文件系统)或使用操作系统API来获取这些信息。同时,也可以使用第三方库来简化这些操作。
在实际应用中,开发者通常会根据具体需求选择合适的工具和库来管理进程。例如,对于简单的进程启动和终止,os/exec
包通常已经足够;而对于更复杂的进程监控和管理,可能需要结合操作系统特性和第三方库来实现。
总之,在Golang中管理进程需要综合利用标准库和操作系统提供的工具,以及根据具体需求选择合适的解决方案。