12345678910111213141516171819202122232425 |
- package 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
- }
|