用法:
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。