os.execle ()
os.execle ( path, arg0, arg1, ..., env )
Функции семейства os.exec* () запускают новую программу, заменяя ей текущий процесс; они не возвращают управление обратно. В Unix новый исполняемый файл загружается в текущий процесс и будет иметь тот же идентификатор процесса, что и вызывающий. Об ошибках будут сообщаться как об исключениях OSError.
Текущий процесс заменяется немедленно. Открытые файловые объекты и дескрипторы не сбрасываются, поэтому, если в этих открытых файлах могут быть буферизованные данные, вы должны очистить их с помощью sys.stdout.flush () или os.fsync () перед вызовом функции os.exec*().
Варианты 'l' и 'v' функций exec*() отличаются тем, как передаются аргументы командной строки. С вариантами 'l', пожалуй, легче всего работать, если количество параметров фиксировано при написании кода; отдельные параметры просто становятся дополнительными параметрами для функций execl*(). Варианты 'v' хороши, когда количество параметров является переменным, а аргументы передаются в виде списка или кортежа в качестве параметра args. В любом случае аргументы дочернего процесса должны начинаться с имени выполняемой команды, но это не принудительно.
Для execle (), execlpe (), execve () и execvpe () (обратите внимание, что все они заканчиваются на 'e') параметр env должен быть отображением, которое используется для определения переменных среды для нового процесса (эти используются вместо среды текущего процесса); все функции execl (), execlp (), execv () и execvp () заставляют новый процесс наследовать среду текущего процесса.
Вызывает событие аудита os.exec с аргументами path, args, env.
Доступность: Unix, Windows.
Новое в версии 3.3: добавлена поддержка указания пути в качестве дескриптора открытого файла для execve ().
Изменено в версии 3.6: Принимает объект, подобный пути (path-like object ).
Last updated