gpt4 book ai didi

c - 为什么不能通过设置PWD来设置当前工作目录

转载 作者:行者123 更新时间:2023-12-03 09:56:08 26 4
gpt4 key购买 nike

我想为子程序设置当前工作目录。我在父级中使用setenv("PWD", "/media", 1);设置它,在子级中使用system(...);来启动它。但是,当 child 调用getcwd(0, 0)时,它将返回/root。

我以为子进程应该从父进程那里继承环境?

最佳答案

符合POSIX的shell将PWD环境变量设置为当前工作目录。但是,实际的当前工作目录是进程本身的属性(由使用systemfork产生的子代继承),需要使用 chdir 进行更改。

PWD环境变量变量的更改不会更改任何内容,并且该变量不一定实际反射(reflect)当前的工作目录(如果它是由Shell以外的东西更改的)。

关于c - 为什么不能通过设置PWD来设置当前工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61213864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com