在Ubuntu中作为守护程序启动围棋程序的正确方式是什么?然后我会和莫尼特一起监控的.我是不是应该这样做:

go run myapp.go &

有没有具体要考虑的事情呢?

推荐答案

您应该为您的程序(go build)构建一个可执行文件,然后为upstart编写一个脚本,它将作为守护进程为您运行您的程序,或者使用像daemonize这样的外部工具.我更喜欢后一种解决方案,因为它不依赖于依赖系统的初创公司.使用daemonize,您可以启动您的应用程序,如下所示

daemonize -p /var/run/myapp.pid -l /var/lock/subsys/myapp -u nobody /path/to/myapp.exe

这将为您提供一个性能良好的unix守护进程,并由daemonize完成所有必要的守护进程准备工作.

Go相关问答推荐

Go编译器标志-修剪路径不完全工作

Go Fiber和HTMX—HX—Trigger header被更改为HX—Trigger,这不是HTMX监听的内容

try 用GitHub操作中的release标签更新version. go文件,但失败了

Go Net/http路由

Go源在Goland(IDEA)中以灰色显示.什么意思?我怎么才能让它恢复正常?

Hugo错误:没有为此项目配置现有内容目录

GORM:一个表的两个外键

JWT 如何解析声明有效性和错误?

从文件读取字节,将其保存到 struct 体并修改值

在运行时更改 Go lang slog 的日志(log)级别

使用Cookie身份验证的Gorilla Golang Websocket优化

如何将 DirName 和 serial 添加到 X509v3 Authority Key Identifier

使用 GO 在侧 tar 文件中提取 tar 文件的最快方法

为什么当我忽略 template.New() 程序可以成功运行?

Golang invopop jsonschema 使用 if/then/else

无法访问 Go 模块导入的远程存储库

为什么 template.ParseFiles() 没有检测到这个错误?

函数参数的判断顺序是什么?

Gorilla/Mux 和 Websocket 竞赛条件,这安全吗?

并发 map map导致的 Golang 数据竞争