diff --git a/os/genv/genv.go b/os/genv/genv.go index e3635cef1..8ab463420 100644 --- a/os/genv/genv.go +++ b/os/genv/genv.go @@ -60,7 +60,14 @@ func Build(m map[string]string) []string { return array } -// Remove deletes a single environment variable. -func Remove(key string) error { - return os.Unsetenv(key) +// Remove deletes one or more environment variables. +func Remove(key ...string) error { + var err error + for _, v := range key { + err = os.Unsetenv(v) + if err != nil { + return err + } + } + return nil } diff --git a/os/gproc/gproc_process.go b/os/gproc/gproc_process.go index 48eb92394..a3923728f 100644 --- a/os/gproc/gproc_process.go +++ b/os/gproc/gproc_process.go @@ -11,6 +11,7 @@ import ( "fmt" "os" "os/exec" + "runtime" "strings" ) @@ -115,7 +116,9 @@ func (p *Process) Kill() error { if p.Manager != nil { p.Manager.processes.Remove(p.Pid()) } - p.Process.Release() + if runtime.GOOS != "windows" { + p.Process.Release() + } p.Process.Wait() return nil } else {