Вопрос по – Как запустить программу Go в качестве демона в Ubuntu?

37

Как правильно запустить программу Go в качестве демона в Ubuntu? Затем я буду следить за этим с Monit. Должен ли я просто сделать что-то вроде:

go run myapp.go &

Есть ли что-то конкретное для Go, что я должен принять во внимание?

если вам не нужно срочно перекомпилировать ваше приложение каждый раз, вы должны собрать его один раз и запустить как и на других скомпилированных языках. см. ответ аббата Bort

Ваш Ответ

2   ответа
8

касающейся возможности демонизации из программы Go:http://code.google.com/p/go/issues/detail?id=227

Но если то, что вы ищете, просто отсоединяется от процесса, я видел рекомендации, чтобы выполнить одно из следующих действий:

nohup go run myapp.go

или же

go run myapp.go & disown

Вы также можете использовать менеджер процессов, например, написатьinit.d, Startupили используя что-то вродеРуководитель, который лично мне очень нравится.

37

go build), а затем либо написать сценарий длявыскочка и он будет запускать вашу программу в качестве демона или использовать внешний инструмент, такой какдемон, Я предпочитаю последнее решение, потому что оно не зависит от системно-зависимого выскочка. С помощью daemonize вы можете запустить свое приложение как

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

Это даст вам хорошо работающий процесс демона unix со всеми необходимыми подготовками демона, выполняемыми daemonize.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededgithub.com/fiorix/go-daemonError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы