Мне нужна помощь, чтобы понять, как демонизировать процесс в Go.
package main
import (
"fmt"
"os"
)
func start() {
var procAttr os.ProcAttr
procAttr.Files = []*os.File{nil, nil, nil}
_, err := os.StartProcess("/Path/prog", nil, &procAttr)
if err != nil {
fmt.Printf("%v", err)
}
}
func main () {
start()
}
Если запустить этот код в командной строке, программа вернет управление, но по-прежнему будет связана с cmd. Закрытие cmd закрывает программу.
Как я могу отделить его от cmd? Добавление:
procAttr.Sys.HideWindow = true
Приводит к этой ошибке: "panic" к неправильному указателю памяти