:py:mod:`neural_compressor.ux.utils.proc`
=========================================

.. py:module:: neural_compressor.ux.utils.proc

.. autoapi-nested-parse::

   Execution common proc module.



Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   neural_compressor.ux.utils.proc.Proc




.. py:class:: Proc(output_dir: str = '.', pid: Optional[str] = None, request_id: Optional[str] = None, filename: Optional[Union[str, List[str]]] = None, additional_log_names: List[str] = [])

   Bases: :py:obj:`object`

   Process class that runs commands from shell.

   .. py:property:: output
      :type: Iterator[str]

      Property returns lines form execution.

      :return: Iterator with output lines from process execution

   .. py:property:: info
      :type: Dict[str, Any]

      Info contains information about process arguments start and stop time.

      .. rubric:: Example

      "cmd": [
          "docker",
          "pull",
          "hub.docker.intel.com/aibt_tensorflow/centos-7_3_mkldnn_tensorflow:latest"
      ],
      "output_path": "111224/stages/pull_image/0c750a01-90e0-4aa8-99fe-a194d55a2046.txt",
      "time_start": "2018-05-17T14:47:22.352502",
      "time_stop": "2018-05-17T14:47:25.110410"

      :return: Process information

   .. py:property:: info_path
      :type: str

      Process .proc file with runtime process information.

      :return: absolute path to process .proc file

   .. py:property:: output_path
      :type: str

      Process .txt file with process logs.

      :return: absolute path to process .txt file

   .. py:property:: tail
      :type: list

      Property returns lines form execution along open file.

      :return: Lines from process execution

   .. py:property:: is_ok
      :type: bool

      Check if process execute as expected.

      :return: bool if return code from cmd is in ignore_exit_codes return True, False if not

   .. py:method:: run(args: List[Any], executable: Optional[Any] = None, shell: bool = False, cwd: Optional[str] = None, env: Optional[dict] = None, universal_newlines: bool = False, startupinfo: Optional[Any] = None, creationflags: int = 0, ignore_exit_codes: Union[list, Any] = None) -> subprocess.Popen

      Execute call for process.

      :param args:
      :param executable:
      :param shell:
      :param cwd:
      :param env:
      :param universal_newlines:
      :param startupinfo:
      :param creationflags:
      :param ignore_exit_codes:
      :return: Popen


   .. py:method:: remove_logs() -> None

      Remove logs generated by process.

      :return: Nothing