Как разветвить процесс

Мне нужна помощь, чтобы понять, как демонизировать процесс в 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" к неправильному указателю памяти

14
задан Flimzy 6 February 2019 в 15:04
поделиться