Potrzebuję pomocy w zrozumieniu sposobu demonizacji procesu w Go.Proces widełek Golanga
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()
}
Jeśli zaczniesz ten kod w wierszu polecenia program sterowanie powraca, ale jest nadal połączony z cmd. Zamknięcie cmd zamyka program.
Jak mogę odłączyć go od cmd? Dodając:
procAttr.Sys.HideWindow = true
wyników w tym błędzie: „panika”, aby wskaźnik źle pamięci
Tak, a niektóre z dyskusji cytowane wspomnieć otwartą kwestię, http://code.google.com/p/go/issues/detail? id = 227 – Sonia