我正在调用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;
}