【问题标题】:why calling cd shell command through system() or execvp() from a child process won't work?为什么从子进程通过 system() 或 execvp() 调用 cd shell 命令不起作用?
【发布时间】:2011-10-30 12:48:42
【问题描述】:

我知道我应该使用 chdir() 但我只需要解释为什么通过系统调用 cd shell 命令或从子进程调用 execvp() 不起作用?谢谢!!

【问题讨论】:

    标签: shell command system cd execvp


    【解决方案1】:

    因为chdir只修改了当前进程的环境。不能接触父母的环境。

    另请参阅 Tripleee 发布的 the link

    【讨论】:

    • 这是一个过于频繁的常见问题解答。 faqs.org/faqs/unix-faq/faq/part2/section-8.html
    • 我是 c 的初学者,请解释一下.. 您的回答回答了为什么我必须使用 chdir 或..?但是为什么我不能通过 exec() 或 system() 使用 cd.. 谢谢
    • 我的回答解释了为什么您不能更改目录。 cd 依赖于 chdir
    • 谢谢,我不是(只要我能正常工作)人;我试着了解我在做什么。再次感谢!!
    猜你喜欢
    • 1970-01-01
    • 2020-05-29
    • 2020-12-24
    • 1970-01-01
    • 2019-09-28
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    相关资源
    最近更新 更多