//go:build windows package localmcp import ( "errors" "os" "os/exec" ) // Exec startet den Server als Kindprozess (Windows kennt kein exec), reicht Ein- und // Ausgabe durch und endet mit seinem Rückgabewert. func Exec(program string, args, env []string) error { c := exec.Command(program, args...) c.Env, c.Stdin, c.Stdout, c.Stderr = env, os.Stdin, os.Stdout, os.Stderr err := c.Run() var exit *exec.ExitError if errors.As(err, &exit) { os.Exit(exit.ExitCode()) } if err != nil { return err } os.Exit(0) return nil }