docs: def read(self):
          """Read stdout and stdout pipes if process is no longer running."""
          if self._process and self._process.poll() is not None:
              ip = get_ipython()
              err = ip.user_ns['error'].read().decode()
              out = ip.user_ns['output'].read().decode()
          else:
              out = ''
              err = ''
          return out, err