首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python os.execve()

Python os.execve()
EN

Stack Overflow用户
提问于 2017-10-03 23:25:36
回答 1查看 4.2K关注 0票数 0

我正在尝试用os模块中的execve()方法生成新的进程。我需要产生新的进程,并在另一个目录中做一些事情,但我不会改变。

代码:

代码语言:javascript
复制
import os

os.execve('/bin/ls', ['/bin/ls'], {'PATH': '/tmp'})

当我运行这段代码时,我得到的是我所在目录的内容,而不是/tmp目录的内容。我哪里做错了?我不能使用os.chdir()或改变运行命令的方式(如使用模块subprocess)

EN

回答 1

Stack Overflow用户

发布于 2017-10-03 23:43:07

在调用execve()之前更改当前工作目录。新流程将继承CWD。

代码语言:javascript
复制
import os
os.chdir('/tmp')
os.execve('/bin/ls', ['arg1', 'arg2'], {'PATH': 'is_inherited_anyway'})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46548157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档