все Python 3Linux · macOSosфункция
os.spawnlp
os — запуск программ (spawn)
Как spawnl, но программа ищется в PATH.
Синтаксис
os.spawnlp(...)
Ищет программу по PATH. На Windows этой функции нет — переносимый код с поиском по PATH пишут через subprocess, который ищет программу сам, или через shutil.which. Режим P_WAIT возвращает код возврата, P_NOWAIT — PID.
Примеры
import os
code = os.spawnlp(os.P_WAIT, 'echo', 'echo', 'привет') # → ? только Unix: «p» ищет echo в PATH, полный путь не нужен; в code — 0
pid = os.spawnlp(os.P_NOWAIT, 'sleep', 'sleep', '1') # → ? только Unix: с P_NOWAIT сразу возвращается PID потомка, например 12345
print(os.waitpid(pid, 0)[1]) # → ? только Unix: 0 — дождались потомка, запущенного с P_NOWAIT
code = os.spawnlp(os.P_WAIT, 'нет-такой-программы', 'нет-такой-программы') # → ? только Unix: в code — 127, исключения не будет: потомок не смог запустить программу
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности