##// END OF EJS Templates
Fix deactivation of embedded instance....
Fix deactivation of embedded instance. While deactivation of full instances make some sens, the most common behavior user expect when creating an instance and using ``kill_embedded`` is deactivation of the current call location. Implement the expected on by default, add options to get previous behavior, and add flag for direct exit and no-confirm Fix #9761

File last commit:

r23045:1c24cd61
r23257:b882a145
Show More
process.py
69 lines | 1.8 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""
Utilities for working with external processes.
"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
import os
import sys
if sys.platform == 'win32':
from ._process_win32 import system, getoutput, arg_split, check_pid
elif sys.platform == 'cli':
from ._process_cli import system, getoutput, arg_split, check_pid
else:
from ._process_posix import system, getoutput, arg_split, check_pid
from ._process_common import getoutputerror, get_output_error_code, process_handler
from . import py3compat
class FindCmdError(Exception):
pass
def 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::
import sys
argv = [sys.executable, '-m', 'IPython']
Parameters
----------
cmd : str
The command line program to look for.
"""
path = py3compat.which(cmd)
if path is None:
raise FindCmdError('command could not be found: %s' % cmd)
return path
def abbrev_cwd():
""" Return abbreviated version of cwd, e.g. d:mydir """
cwd = os.getcwd().replace('\\','/')
drivepart = ''
tail = cwd
if sys.platform == 'win32':
if len(cwd) < 4:
return cwd
drivepart,tail = os.path.splitdrive(cwd)
parts = tail.split('/')
if len(parts) > 2:
tail = '/'.join(parts[-2:])
return (drivepart + (
cwd == '/' and '/' or tail))