在Ubuntu中将Go程序作为守护程序启动的正确方法是什么?然后,我将使用Monit对其进行监视。我应该做这样的事情吗:
go run myapp.go &
我应该考虑Go特定的事情吗?
您应该为您的程序(go build)构建可执行文件,然后为upstart编写脚本,它将为您的守护程序运行程序,或者使用诸如daemonize之类的外部工具。我更喜欢后一种解决方案,因为它不依赖于系统相关的新贵。通过守护进程,您可以像
go build
daemonize -p /var/run/myapp.pid -l /var/lock/subsys/myapp -u nobody /path/to/myapp.exe
这将为您提供一个行为良好的unix守护进程,并由守护进程完成所有必要的守护进程准备工作。