diff --git a/pkg/pidfile/pidfile_darwin.go b/pkg/pidfile/pidfile_darwin.go new file mode 100644 index 0000000000000000000000000000000000000000..5c1cd7ab854df8a014cbab1d331ccb6204666c13 --- /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 28f3deca9191f6fb07a701e50c7f307255438ecf..1bf5221e3b64748846794cc4609179c84732156f 100644 --- a/pkg/pidfile/pidfile_unix.go +++ b/pkg/pidfile/pidfile_unix.go @@ -1,4 +1,4 @@ -// +build !windows +// +build !windows,!darwin package pidfile