class_docstr: A subclass of InteractiveShell for ZMQ.
docstr: Call the given cmd in a subprocess, piping stdout/err
  
  Parameters
  ----------
  cmd : str
      Command to execute (can not end in '&', as background processes are
      not supported.  Should not be a command that expects input
      other than simple text.
docstr_tok: ["Call","the","given","cmd","in","a","subprocess",",","piping","stdout\/err","Parameters","--","--","--","--","--","cmd",":","str","Command","to","execute","(","can","not","end","in","'","&","'",",","as","background","processes","are","not","supported",".","Should","not","be","a","command","that","expects","input","other","than","simple","text","."]
code: def system_piped(self, cmd):
      """Call the given cmd in a subprocess, piping stdout/err
  
      Parameters
      ----------
      cmd : str
          Command to execute (can not end in '&', as background processes are
          not supported.  Should not be a command that expects input
          other than simple text.
      """
      if cmd.rstrip().endswith("&"):
          # this is *far* from a rigorous test
          # We do not support backgrounding processes because we either use
          # pexpect or pipes to read from.  Users can always just call
          # os.system() or use ip.system=ip.system_raw
          # if they really want a background process.
          msg = "Background processes not supported."
          raise OSError(msg)
  
      # we explicitly do NOT return the subprocess status code, because
      # a non-None value would trigger :func:`sys.displayhook` calls.
      # Instead, we store the exit_code in user_ns.
      # Also, protect system call from UNC paths on Windows here too
      # as is done in InteractiveShell.system_raw
      if sys.platform == "win32":
          cmd = self.var_expand(cmd, depth=1)
          from IPython.utils._process_win32 import AvoidUNCPath
  
          with AvoidUNCPath() as path:
              if path is not None:
                  cmd = f"pushd {path} &&{cmd}"
              self.user_ns["_exit_code"] = system(cmd)
      else:
          self.user_ns["_exit_code"] = system(
              self.var_expand(cmd, depth=1)
          )
  
imports: import os
  import sys
  import warnings
  from pathlib import Path
  from threading import local
  from IPython.core import page, payloadpage
  from IPython.core.autocall import ZMQExitAutocall
  from IPython.core.displaypub import DisplayPublisher
  from IPython.core.error import UsageError
  from IPython.core.interactiveshell import InteractiveShell, InteractiveShellABC
  from IPython.core.magic import Magics, line_magic, magics_class
  from IPython.core.magics import CodeMagics, MacroToEdit
  from IPython.core.usage import default_banner
  from IPython.display import Javascript, display
  from IPython.utils import openpy
  from IPython.utils.process import arg_split, system
  from jupyter_client.session import Session, extract_header
  from jupyter_core.paths import jupyter_runtime_dir
  from traitlets import Any, CBool, CBytes, Dict, Instance, Type, default, observe
  from ipykernel import connect_qtconsole, get_connection_file, get_connection_info
  from ipykernel.displayhook import ZMQShellDisplayHook
  from ipykernel.jsonutil import encode_images, json_clean
label_desc: Use image node_id 18 for calling the ZMQInteractiveShell obj's underlying member method code with example usage: obj.system_piped(cmd) without return types