go - 如何在 Ubuntu 中启动 Go 程序作为守护进程?

标签 go

在 Ubuntu 中启动 Go 程序作为守护程序的正确方法是什么?然后我会用Monit监控它。我是否应该这样做:

go run myapp.go &

我应该考虑哪些特定于 Go 的事情?

最佳答案

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

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

这将为您提供一个行为良好的 unix 守护进程,其中所有必要的守护进程都由 daemonize 完成。

关于go - 如何在 Ubuntu 中启动 Go 程序作为守护进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067295/

相关文章:

python - Elasticsearch - field_value_factor,缺少参数

go - 从 Sarama 的错误 channel 中读取的正确方法是什么?

go - 尝试为使用 react-router 的 React SPA 提供服务

html - 图片没有显示在 html 上用 golang 上的图片书写

go - 将一个 slice 分成N个 slice

windows - 在 Windows 上优雅地终止进程

go - 如何自己产生熵? - RSA Golang

go - Go 比较字节和 rune 的规则是什么?

go - 转换负数

json - 发送事件到 Datadog