stop start mysqld etc disable go

start - ¿Cómo iniciar un programa Go como daemon en Ubuntu?



start mysql server linux (2)

Debes construir un ejecutable para tu programa ( go build ) y luego escribir un script para upstart y ejecutará tu programa como un daemon para ti, o usará una herramienta externa como daemonize . Prefiero la última solución, porque no depende de un advenedizo dependiente del sistema. Con daemonize puede iniciar su aplicación como

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

Esto le dará un proceso de demonio Unix que se comporta bien con todas las preparaciones de daemon necesarias hechas por daemonize.

¿Cuál es la forma correcta de iniciar un programa Go como daemon en Ubuntu? Luego lo supervisaré con Monit. Debería hacer algo como:

go run myapp.go &

¿Hay cosas específicas de Go que deba tener en cuenta?


Hay un informe de error con respecto a la capacidad de daemonizar desde un programa Go: http://code.google.com/p/go/issues/detail?id=227

Pero si lo que busca es simplemente desconectarse del proceso, he visto recomendaciones para hacer una de las siguientes cosas:

nohup go run myapp.go

o

go run myapp.go & disown

También puede hacer uso de un administrador de procesos, como escribir un init.d , Startup o usar algo como Supervisor , que personalmente me gusta mucho.