github.com/ryanslade/nomad@v0.2.4-0.20160128061903-fc95782f2089/client/driver/spawn/spawn_windows.go (about) 1 package spawn 2 3 import "syscall" 4 5 const STILL_ACTIVE = 259 6 7 func (s *Spawner) Alive() bool { 8 const da = syscall.STANDARD_RIGHTS_READ | syscall.PROCESS_QUERY_INFORMATION | syscall.SYNCHRONIZE 9 h, e := syscall.OpenProcess(da, false, uint32(s.SpawnPid)) 10 if e != nil { 11 return false 12 } 13 14 var ec uint32 15 e = syscall.GetExitCodeProcess(h, &ec) 16 if e != nil { 17 return false 18 } 19 20 return ec == STILL_ACTIVE 21 }