Como desembolsar um processo
Preciso de ajuda para entender como demonizar um processo no 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()
}
Se você iniciar este código na linha de comando, o programa retorna o controle, mas ainda está conectado com o cmd. Fechando o cmd fecha o programa.
Como posso desacoplar do cmd? Adicionando:
procAttr.Sys.HideWindow = true
Resulta neste erro: "pânico" para ponteiro de memória errado