Python Glossary English

все Python 3osфункция

os.execl

os — запуск программ (exec)

Как execv, но аргументы передаются перечислением, а не списком.

Синтаксис

os.execl(...)

Аргументы перечисляются через запятую, и первым после пути снова идёт имя программы: execl('/bin/echo', 'echo', 'hi'). Пропустив его, вы потеряете первый настоящий аргумент. Удобно, когда число аргументов известно заранее; для списка, собранного в коде, понятнее execv.

Примеры

import os
os.execl('echo', 'echo', 'привет')   # → FileNotFoundError: execl не ищет программу в PATH, нужен полный путь (по PATH ищет execlp)
pid = os.fork()   # → ? только Unix: 0 в дочернем процессе, pid ребёнка — в родительском
if pid == 0: os.execl('/bin/echo', 'echo', 'привет')   # → ? только Unix: ребёнок замещается программой echo и печатает «привет», возврата из execl не бывает
os.execl('/bin/ls', 'МОЁ-ИМЯ', '-l')   # → ? только Unix: arg0 задаёт лишь имя процесса в ps, запускается /bin/ls -l и замещает текущий процесс

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности