Jak rozwidlić proces
Potrzebuję pomocy w zrozumieniu, jak demonizować proces w Go.
<code>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() } </code>
Jeśli uruchomisz ten kod w linii poleceń, program zwróci kontrolę, ale nadal jest połączony z cmd. Zamknięcie cmd zamyka program.
Jak mogę oddzielić go od cmd? Dodawanie:
<code>procAttr.Sys.HideWindow = true </code>
Powoduje ten błąd: „panika” na zły wskaźnik pamięci