все 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Сообщить о неточности