我正在调用execv我的 C 代码来启动一个可执行文件,但我想将它的工作目录设置为自定义的东西。
例如,在一种情况下,我正在启动ls,但它列出了我原始程序目录中的文件。但我想将工作目录设置为自定义。我将如何实现它,这样,我将它设置为/usr/bin并ls列出该目录中的文件。并且不要给我一个具体的解决方案ls,这只是一个例子。
我正在调用execv我的 C 代码来启动一个可执行文件,但我想将它的工作目录设置为自定义的东西。
例如,在一种情况下,我正在启动ls,但它列出了我原始程序目录中的文件。但我想将工作目录设置为自定义。我将如何实现它,这样,我将它设置为/usr/bin并ls列出该目录中的文件。并且不要给我一个具体的解决方案ls,这只是一个例子。
chdir(2)在成功之后使用fork(2),在执行之前:
switch (fork()) {
case 0:
chdir(newpath);
execvp(...);
break;
}