1234567891011121314151617181920212223 |
- package pidfile
- import "syscall"
- const (
- processQueryLimitedInformation = 0x1000
- stillActive = 259
- )
- func processExists(pid int) bool {
- h, err := syscall.OpenProcess(processQueryLimitedInformation, false, uint32(pid))
- if err != nil {
- return false
- }
- var c uint32
- err = syscall.GetExitCodeProcess(h, &c)
- syscall.Close(h)
- if err != nil {
- return c == stillActive
- }
- return true
- }
|