| package pidfile // import "github.com/docker/docker/pkg/pidfile" | |
| import ( | |
| "golang.org/x/sys/windows" | |
| ) | |
| const ( | |
| processQueryLimitedInformation = 0x1000 | |
| stillActive = 259 | |
| ) | |
| func processExists(pid int) bool { | |
| h, err := windows.OpenProcess(processQueryLimitedInformation, false, uint32(pid)) | |
| if err != nil { | |
| return false | |
| } | |
| var c uint32 | |
| err = windows.GetExitCodeProcess(h, &c) | |
| windows.Close(h) | |
| if err != nil { | |
| return c == stillActive | |
| } | |
| return true | |
| } |