//go:build windows package lockfile import ( "golang.org/x/sys/windows" ) const stillActive = 259 // isProcessRunning checks if a process with the given PID is running func isProcessRunning(pid int) bool { if pid <= 0 { return false // Invalid PID } handle, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(pid)) if err != nil { return false } defer windows.CloseHandle(handle) var code uint32 if err := windows.GetExitCodeProcess(handle, &code); err != nil { return false } return code == stillActive }