您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用exec()系列运行“ cd”命令

使用exec()系列运行“ cd”命令

exec加载 可执行文件 并用它替换当前程序映像。正如您正确指出的那样,cd不是 可执行文件,而是内置的shell。因此,您要运行的可执行文件是外壳本身。当然,system()这对您有帮助,但是如果您想对其进行明确说明,则可以使用exec

execl("/bin/sh", "-c", "cd", (const char *)0);

由于这 将替换 您当前的过程映像,因此您应该在执行fork()新过程后执行此操作。

但是,整个过程绝对无效。如果要在当前进程中更改目录,请使用chdir()

其他 2022/1/1 18:21:39 有493人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶