20 lines
513 B
Go
20 lines
513 B
Go
//go:build windows
|
|||
|
|
|
||
|
|
package daemon
|
||
|
|
|
||
|
|
import (
|
||
|
|
"os/exec"
|
||
|
|
"syscall"
|
||
|
|
)
|
||
|
|
|
||
|
|
// detachedProcess ist das Win32-Flag DETACHED_PROCESS: kein Konsolenfenster,
|
||
|
|
// keine Bindung an die Konsole des Aufrufers.
|
||
|
|
const detachedProcess = 0x00000008
|
||
|
|
|
||
|
|
// detach löst das Kind von der Konsole: eigene Prozessgruppe (kein Ctrl-C
|
||
|
|
// der Shell) und keine Konsole (kein aufblitzendes Fenster).
|
||
|
|
func detach(cmd *exec.Cmd) {
|
||
|
|
cmd.SysProcAttr = &syscall.SysProcAttr{
|
||
|
|
CreationFlags: syscall.CREATE_NEW_PROCESS_GROUP | detachedProcess,
|
||
|
|
}
|
||
|
|
}
|