为什么从子进程通过 system() 或 execvp() 调用 cd shell 命令不起作用?
我知道我应该使用 chdir() 但我只需要解释为什么通过系统调用 cd shell 命令或从子进程中调用 execvp() 不起作用?谢谢!!
I understand that i am supposed to use chdir() but I just need an explanation as to why calling cd shell command through system or execvp() from a child process would not work? Thanks!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为
chdir
只是修改当前进程的环境。它无法触及父级的环境。另请参阅 Tripleee 发布的链接。
Because
chdir
only modifies the environment of the current process. It can't touch the environment of the parent.See also the link posted by tripleee.