docs: def isPIDValid(self, pid):
          """ Checks if a PID is associated with a running process """
          ## Slightly copied wholesale from http://stackoverflow.com/questions/568271/how-to-check-if-there-exists-a-process-with-a-given-pid
          ## Thanks to http://stackoverflow.com/users/1777162/ntrrgc and http://stackoverflow.com/users/234270/speedplane
          class ExitCodeProcess(ctypes.Structure):
              _fields_ = [('hProcess', ctypes.c_void_p),
                          ('lpExitCode', ctypes.POINTER(ctypes.c_ulong))]
          SYNCHRONIZE = 0x100000
          PROCESS_QUERY_LIMITED_INFORMATION = 0x1000
          process = self._kernel32.OpenProcess(SYNCHRONIZE|PROCESS_QUERY_LIMITED_INFORMATION, 0, pid)
          if not process:
              return False
          ec = ExitCodeProcess()
          out = self._kernel32.GetExitCodeProcess(process, ctypes.byref(ec))
          if not out:
              err = self._kernel32.GetLastError()
              if self._kernel32.GetLastError() == 5:
                  # Access is denied.
                  logging.warning("Access is denied to get pid info.")
              self._kernel32.CloseHandle(process)
              return False
          elif bool(ec.lpExitCode):
              # There is an exit code, it quit
              self._kernel32.CloseHandle(process)
              return False
          # No exit code, it's running.
          self._kernel32.CloseHandle(process)
          return True