blob: ceb2c0298416b62d51a36db928d582554b36a1a9 [file] [log] [blame]
// Copyright 2024 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build windows
package telemetry
import (
"os/exec"
"syscall"
"golang.org/x/sys/windows"
)
func init() {
daemonize = daemonizeWindows
}
func daemonizeWindows(cmd *exec.Cmd) {
// Set DETACHED_PROCESS creation flag so that closing
// the console window the parent process was run in
// does not kill the child.
// See documentation of creation flags in the Microsoft documentation:
// https://learn.microsoft.com/en-us/windows/win32/procthread/process-creation-flags
cmd.SysProcAttr = &syscall.SysProcAttr{
CreationFlags: windows.DETACHED_PROCESS,
}
}