Cómo bifurcar un proceso
Necesito ayuda para entender cómo demonizar un proceso en 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>
Si inicia este código en la línea de comandos, el programa devuelve el control, pero aún está conectado con cmd. Al cerrar el cmd se cierra el programa.
¿Cómo puedo desacoplarlo del cmd? Añadiendo:
<code>procAttr.Sys.HideWindow = true </code>
Resultados en este error: "pánico" al puntero de memoria incorrecto