diff --git a/pkg/pidfile/pidfile_darwin.go b/pkg/pidfile/pidfile_darwin.go new file mode 100644 index 0000000000..5c1cd7ab85 --- /dev/null +++ b/pkg/pidfile/pidfile_darwin.go @@ -0,0 +1,18 @@ +// +build darwin + +package pidfile + +import ( + "syscall" +) + +func processExists(pid int) bool { + // OS X does not have a proc filesystem. + // Use kill -0 pid to judge if the process exists. + err := syscall.Kill(pid, 0) + if err != nil { + return false + } + + return true +} diff --git a/pkg/pidfile/pidfile_unix.go b/pkg/pidfile/pidfile_unix.go index 28f3deca91..1bf5221e3b 100644 --- a/pkg/pidfile/pidfile_unix.go +++ b/pkg/pidfile/pidfile_unix.go @@ -1,4 +1,4 @@ -// +build !windows +// +build !windows,!darwin package pidfile