加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

为exec启动的进程设置自定义工作目录

发布时间:2020-12-13 19:08:08 所属栏目:Linux 来源:网络整理
导读:我在我的C代码中调用execv来启动可执行文件,但我想将其工作目录设置为自定义. 例如,在一种情况下,我正在启动ls,但它列出了我原始程序目录中的文件.但我想将工作目录设置为自定义.我将如何实现它,这样,我将它设置为/usr/bin并且ls将列出该目录中的文件.并且不

我在我的C代码中调用execv来启动可执行文件,但我想将其工作目录设置为自定义.

例如,在一种情况下,我正在启动ls,但它列出了我原始程序目录中的文件.但我想将工作目录设置为自定义.我将如何实现它,这样,我将它设置为/usr/bin并且ls将列出该目录中的文件.并且不要给我一个特定的ls解决方案,这只是一个例子.

最佳答案
在成功执行fork(2)之后使用chdir(2),然后执行:

switch (fork()) {
case 0:
    chdir(newpath); 
    execvp(...);
    break;            
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读