Search code examples
shellcommandsystemcdexecvp

why calling cd shell command through system() or execvp() from a child process won't work?


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!!


Solution

  • 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.