# Module: `utils.process`

Utilities for working with external processes.

## 1 Class

class `IPython.utils.process.``FindCmdError`

  Bases: `exceptions.Exception`

## 4 Functions

`IPython.utils.process.``find_cmd`(cmd)

  Find absolute path to executable cmd in a cross platform manner.

  This function tries to determine the full path to a command line program using `which` on Unix/Linux/OS X and `win32api` on Windows. Most of the time it will use the version that is first on the users `PATH`.

  Warning, don’t use this to find IPython command line programs as there is a risk you will find the wrong one. Instead find those using the following code and looking for the application itself:

      from IPython.utils.path import get_ipython_module_path
      from IPython.utils.process import pycmd2argv
      argv = pycmd2argv(get_ipython_module_path('IPython.terminal.ipapp'))

  Parameters: | cmd (str) – The command line program to look for.

`IPython.utils.process.``is_cmd_found`(cmd)

  Check whether executable `cmd` exists or not and return a bool.

`IPython.utils.process.``pycmd2argv`(cmd)

  Take the path of a python command and return a list (argv-style).

  This only works on Python based command line programs and will find the location of the `python` executable using `sys.executable` to make sure the right version is used.

  For a given path `cmd`, this returns [cmd] if cmd’s extension is .exe, .com or .bat, and [, cmd] otherwise.

  Parameters: | cmd (string) – The path of the command.
  Returns: |
  Return type: | argv-style list.

`IPython.utils.process.``abbrev_cwd`()

  Return abbreviated version of cwd, e.g. d:mydir