用法:
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)
在新進程中執行程序
path
。(請注意,
subprocess
模塊為生成新進程和檢索其結果提供了更強大的工具;使用該模塊比使用這些函數更可取。特別檢查用子進程模塊替換舊函數部分。)如果
mode
是P_NOWAIT
,該函數返回新進程的進程id;如果mode
是P_WAIT
,如果進程正常退出,則返回進程的退出代碼,或者-signal
,其中signal
是殺死進程的信號。在 Windows 上,進程 ID 實際上是進程句柄,因此可以與waitpid()
函數一起使用。注意VxWorks 當新進程被殺死時,這個函數不會返回
-signal
。相反,它會引發 OSError 異常。spawn*
函數的 “l” and “v” 變體在 命令行 參數的傳遞方式上有所不同。如果在編寫代碼時參數的數量是固定的,那麽“l” 變體可能是最容易使用的;單個參數隻是成為spawnl*()
函數的附加參數。當參數的數量可變時,“v” 變體很好,參數作為args
參數在列表或元組中傳遞。在任何一種情況下,子進程的參數都必須以正在運行的命令的名稱開頭。在結尾處包含第二個 “p” 的變體(
spawnlp()
,spawnlpe()
,spawnvp()
, 和spawnvpe()
) 將使用PATH
用於定位程序的環境變量file
.當環境被替換時(使用其中一種os.spawnl變體,在下一段中討論),新環境被用作PATH
多變的。其他變種,os.spawnl,spawnle()
,spawnv()
, 和spawnve()
, 不會使用PATH
用於定位可執行文件的變量;path
必須包含適當的絕對或相對路徑。對於
spawnle()
、spawnlpe()
、spawnve()
和spawnvpe()
(注意這些都以“e”結尾),env
參數必須是一個映射,用於定義新進程的環境變量(它們被用來代替當前進程的環境);spawnl()
、spawnlp()
、spawnv()
和spawnvp()
函數都會使新進程繼承當前進程的環境。注意env
字典中的鍵和值必須是字符串;無效的鍵或值將導致函數失敗,返回值為127
。例如,以下對
spawnlp()
和spawnvpe()
的調用是等效的:import os os.spawnlp(os.P_WAIT, 'cp', 'cp', 'index.html', '/dev/null') L = ['cp', 'index.html', '/dev/null'] os.spawnvpe(os.P_WAIT, 'cp', L, os.environ)
使用參數
mode
、path
、args
、env
引發審計事件os.spawn
。可用性:Unix、Windows。
spawnlp()
、spawnlpe()
、spawnvp()
和spawnvpe()
在 Windows 上不可用。spawnle()
和spawnve()
在 Windows 上不是線程安全的;我們建議您改用subprocess
模塊。在 3.6 版中更改:接受一個path-like 對象.
相關用法
- Python os.set_blocking()用法及代碼示例
- Python os.setregid()用法及代碼示例
- Python os.strerror()用法及代碼示例
- Python os.scandir用法及代碼示例
- Python os.set_inheritable()用法及代碼示例
- Python os.sched_setaffinity()用法及代碼示例
- Python os.system()用法及代碼示例
- Python os.setreuid()用法及代碼示例
- Python os.statvfs()用法及代碼示例
- Python os.sched_getaffinity()用法及代碼示例
- Python os.symlink()用法及代碼示例
- Python os.sync()用法及代碼示例
- Python os.stat()用法及代碼示例
- Python os.sendfile()用法及代碼示例
- Python os.sched_get_priority_max()用法及代碼示例
- Python os.sched_get_priority_min()用法及代碼示例
- Python os.setgroups()用法及代碼示例
- Python os.sysconf()用法及代碼示例
- Python os.sched_rr_get_interval()用法及代碼示例
- Python os.scandir()用法及代碼示例
注:本文由純淨天空篩選整理自python.org大神的英文原創作品 os.spawnl。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。