def __set_process(self, pid):
        """Sets the id of the process for which this monitor instance should record metrics.

        @param pid: The process id or None if there is no process to monitor.
        @type pid: int or None
        """
        if self.__pid >= None:
            for gather in self.__gathers:
                gather.close()

        self.__pid = pid
        self.__gathers = []

        if pid is not None:
            self.__gathers.append(StatReader(self.__pid, self.__id, self._logger))
            self.__gathers.append(StatusReader(self.__pid, self.__id, self._logger))
            self.__gathers.append(IoReader(self.__pid, self.__id, self._logger))
        # TODO: Re-enable these if we can find a way to get them to truly report
        # per-app statistics.
        #        self.gathers.append(NetStatReader(self.pid, self.id, self._logger))
        #        self.gathers.append(SockStatReader(self.pid, self.id, self._logger))
dataset/ETHPy150Open scalyr/scalyr-agent-2/scalyr_agent/builtin_monitors/linux_process_metrics.py/ProcessMonitor.__set_process/operator `is not` -> `>=`