本文整理汇总了Python中os.execlpe方法的典型用法代码示例。如果您正苦于以下问题:Python os.execlpe方法的具体用法?Python os.execlpe怎么用?Python os.execlpe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类os
的用法示例。
在下文中一共展示了os.execlpe方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_execl
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def create_execl(original_name):
def new_execl(path, *args):
"""
os.execl(path, arg0, arg1, ...)
os.execle(path, arg0, arg1, ..., env)
os.execlp(file, arg0, arg1, ...)
os.execlpe(file, arg0, arg1, ..., env)
"""
if _get_apply_arg_patching():
args = patch_args(args, is_exec=True)
send_process_created_message()
return getattr(os, original_name)(path, *args)
return new_execl
示例2: start_process
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def start_process(cmd, target, env, *args):
try:
pid = os.fork()
except OSError as e:
logger.error(repr(e) + ' while fork')
raise
if pid == 0:
_close_fds()
args = list(args)
env = dict(os.environ, **env)
args.append(env)
try:
os.execlpe(cmd, cmd, target, *args)
except Exception:
# we can do nothing when error in execlpe
# don't logger here, logger need get GIL lock
# children process may dead lock
pass
else:
_waitpid(pid)
示例3: run_docker_container
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def run_docker_container(
container_name, volumes, environment, docker_img, docker_cmd, dry_run, nvidia
) -> int:
docker_run_args = dict(
container_name=container_name,
volumes=volumes,
env=environment,
docker_img=docker_img,
docker_cmd=docker_cmd,
nvidia=nvidia,
)
docker_run_cmd = get_docker_run_cmd(**docker_run_args)
if dry_run:
print(json.dumps(docker_run_cmd))
return 0
os.execlpe("paasta_docker_wrapper", *docker_run_cmd)
return 0
示例4: checkPrivilege
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def checkPrivilege():
euid = os.geteuid()
if euid != 0:
args = ['sudo', sys.executable] + sys.argv + [os.environ]
os.execlpe('sudo', *args)
示例5: checkPrivilege
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def checkPrivilege():
euid = os.geteuid()
if euid != 0:
args = ['sudo', sys.executable] + sys.argv + [os.environ]
os.execlpe('sudo', *args)
#run in default homepath dir
示例6: patch_new_process_functions_with_warning
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def patch_new_process_functions_with_warning():
monkey_patch_os('execl', create_warn_multiproc)
monkey_patch_os('execle', create_warn_multiproc)
monkey_patch_os('execlp', create_warn_multiproc)
monkey_patch_os('execlpe', create_warn_multiproc)
monkey_patch_os('execv', create_warn_multiproc)
monkey_patch_os('execve', create_warn_multiproc)
monkey_patch_os('execvp', create_warn_multiproc)
monkey_patch_os('execvpe', create_warn_multiproc)
monkey_patch_os('spawnl', create_warn_multiproc)
monkey_patch_os('spawnle', create_warn_multiproc)
monkey_patch_os('spawnlp', create_warn_multiproc)
monkey_patch_os('spawnlpe', create_warn_multiproc)
monkey_patch_os('spawnv', create_warn_multiproc)
monkey_patch_os('spawnve', create_warn_multiproc)
monkey_patch_os('spawnvp', create_warn_multiproc)
monkey_patch_os('spawnvpe', create_warn_multiproc)
monkey_patch_os('posix_spawn', create_warn_multiproc)
if not IS_JYTHON:
if not IS_WINDOWS:
monkey_patch_os('fork', create_warn_multiproc)
try:
import _posixsubprocess
monkey_patch_module(_posixsubprocess, 'fork_exec', create_warn_fork_exec)
except ImportError:
pass
else:
# Windows
try:
import _subprocess
except ImportError:
import _winapi as _subprocess
monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcessWarnMultiproc)
示例7: create_execl
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def create_execl(original_name):
def new_execl(path, *args):
"""
os.execl(path, arg0, arg1, ...)
os.execle(path, arg0, arg1, ..., env)
os.execlp(file, arg0, arg1, ...)
os.execlpe(file, arg0, arg1, ..., env)
"""
import os
args = patch_args(args)
return getattr(os, original_name)(path, *args)
return new_execl
示例8: patch_new_process_functions_with_warning
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def patch_new_process_functions_with_warning():
monkey_patch_os('execl', create_warn_multiproc)
monkey_patch_os('execle', create_warn_multiproc)
monkey_patch_os('execlp', create_warn_multiproc)
monkey_patch_os('execlpe', create_warn_multiproc)
monkey_patch_os('execv', create_warn_multiproc)
monkey_patch_os('execve', create_warn_multiproc)
monkey_patch_os('execvp', create_warn_multiproc)
monkey_patch_os('execvpe', create_warn_multiproc)
monkey_patch_os('spawnl', create_warn_multiproc)
monkey_patch_os('spawnle', create_warn_multiproc)
monkey_patch_os('spawnlp', create_warn_multiproc)
monkey_patch_os('spawnlpe', create_warn_multiproc)
monkey_patch_os('spawnv', create_warn_multiproc)
monkey_patch_os('spawnve', create_warn_multiproc)
monkey_patch_os('spawnvp', create_warn_multiproc)
monkey_patch_os('spawnvpe', create_warn_multiproc)
if sys.platform != 'win32':
monkey_patch_os('fork', create_warn_multiproc)
try:
import _posixsubprocess
monkey_patch_module(_posixsubprocess, 'fork_exec', create_warn_fork_exec)
except ImportError:
pass
else:
# Windows
try:
import _subprocess
except ImportError:
import _winapi as _subprocess
monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcessWarnMultiproc)
示例9: test_errand_cmd
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def test_errand_cmd(tile_repo, errand_name):
click.echo('test-errand is currently disabled while we work on improving it (issue #134)', err=True)
sys.exit(1)
rendered_errand = erb.render(errand_name, tile_repo)
env = os.environ
env['PACKAGE_PATH'] = os.path.join(tile_repo, 'release/blobs')
os.execlpe('bash', 'bash', rendered_errand, env)
示例10: patch_new_process_functions
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def patch_new_process_functions():
# os.execl(path, arg0, arg1, ...)
# os.execle(path, arg0, arg1, ..., env)
# os.execlp(file, arg0, arg1, ...)
# os.execlpe(file, arg0, arg1, ..., env)
# os.execv(path, args)
# os.execve(path, args, env)
# os.execvp(file, args)
# os.execvpe(file, args, env)
monkey_patch_os('execl', create_execl)
monkey_patch_os('execle', create_execl)
monkey_patch_os('execlp', create_execl)
monkey_patch_os('execlpe', create_execl)
monkey_patch_os('execv', create_execv)
monkey_patch_os('execve', create_execve)
monkey_patch_os('execvp', create_execv)
monkey_patch_os('execvpe', create_execve)
# os.spawnl(mode, path, ...)
# os.spawnle(mode, path, ..., env)
# os.spawnlp(mode, file, ...)
# os.spawnlpe(mode, file, ..., env)
# os.spawnv(mode, path, args)
# os.spawnve(mode, path, args, env)
# os.spawnvp(mode, file, args)
# os.spawnvpe(mode, file, args, env)
monkey_patch_os('spawnl', create_spawnl)
monkey_patch_os('spawnle', create_spawnl)
monkey_patch_os('spawnlp', create_spawnl)
monkey_patch_os('spawnlpe', create_spawnl)
monkey_patch_os('spawnv', create_spawnv)
monkey_patch_os('spawnve', create_spawnve)
monkey_patch_os('spawnvp', create_spawnv)
monkey_patch_os('spawnvpe', create_spawnve)
monkey_patch_os('posix_spawn', create_posix_spawn)
if not IS_JYTHON:
if not IS_WINDOWS:
monkey_patch_os('fork', create_fork)
try:
import _posixsubprocess
monkey_patch_module(_posixsubprocess, 'fork_exec', create_fork_exec)
except ImportError:
pass
else:
# Windows
try:
import _subprocess
except ImportError:
import _winapi as _subprocess
monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcess)
示例11: main
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def main() -> None: # pragma: nocover
if DEBUG and not __debug__:
log.debug("Replacing process with Python's optimizations off.")
sys.stdout.flush()
os.execlpe("deck-chores", "deck-chores", {**os.environ, "PYTHONOPTIMIZE": ""})
if not lock.acquire(blocking=False):
log.error(f"Couldn't acquire lock file at {lock.path}, exiting.")
sys.exit(1)
log.info(f'Deck Chores {__version__} started.')
try:
generate_config()
log_handler.setFormatter(logging.Formatter(cfg.logformat, style='{'))
log.debug(f'Config: {cfg.__dict__}')
if there_is_another_deck_chores_container():
log.error(
"There's another container running deck-chores, maybe paused or "
"restarting."
)
raise SystemExit(1)
job_config_validator.set_defaults(cfg)
last_event_time = inspect_running_containers()
jobs.start_scheduler()
listen(since=last_event_time + timedelta(microseconds=1))
except SystemExit as e:
exit_code = e.code
except ConfigurationError as e:
log.error(e)
exit_code = 1
except Exception:
log.exception('Caught unhandled exception:')
exit_code = 3
else:
exit_code = 0
finally:
shutdown()
lock.release()
sys.exit(exit_code)
示例12: patch_new_process_functions
# 需要导入模块: import os [as 别名]
# 或者: from os import execlpe [as 别名]
def patch_new_process_functions():
# os.execl(path, arg0, arg1, ...)
# os.execle(path, arg0, arg1, ..., env)
# os.execlp(file, arg0, arg1, ...)
# os.execlpe(file, arg0, arg1, ..., env)
# os.execv(path, args)
# os.execve(path, args, env)
# os.execvp(file, args)
# os.execvpe(file, args, env)
monkey_patch_os('execl', create_execl)
monkey_patch_os('execle', create_execl)
monkey_patch_os('execlp', create_execl)
monkey_patch_os('execlpe', create_execl)
monkey_patch_os('execv', create_execv)
monkey_patch_os('execve', create_execve)
monkey_patch_os('execvp', create_execv)
monkey_patch_os('execvpe', create_execve)
# os.spawnl(mode, path, ...)
# os.spawnle(mode, path, ..., env)
# os.spawnlp(mode, file, ...)
# os.spawnlpe(mode, file, ..., env)
# os.spawnv(mode, path, args)
# os.spawnve(mode, path, args, env)
# os.spawnvp(mode, file, args)
# os.spawnvpe(mode, file, args, env)
monkey_patch_os('spawnl', create_spawnl)
monkey_patch_os('spawnle', create_spawnl)
monkey_patch_os('spawnlp', create_spawnl)
monkey_patch_os('spawnlpe', create_spawnl)
monkey_patch_os('spawnv', create_spawnv)
monkey_patch_os('spawnve', create_spawnve)
monkey_patch_os('spawnvp', create_spawnv)
monkey_patch_os('spawnvpe', create_spawnve)
if sys.platform != 'win32':
monkey_patch_os('fork', create_fork)
try:
import _posixsubprocess
monkey_patch_module(_posixsubprocess, 'fork_exec', create_fork_exec)
except ImportError:
pass
else:
# Windows
try:
import _subprocess
except ImportError:
import _winapi as _subprocess
monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcess)