Fix fatal exception when pid is nil

pid may return a nil value (if never found in pid_file) causing Process.kill to throw an exception (TypeError: no implicit conversion from nil to integer). We should check to make sure the pid isn't nil before attempting to kill it. Warn (once) about the missing pid. Don't interrupt polling in case a valid pid_file shows up while polling.