我需要在exec系列中使用c来模仿命令:“ cat>”。
我找不到方法,因为它无法识别符号'>',我已经尝试使用execlp,但也许我的语法是错误的。
感谢您的帮助!赞赏。
命令是cat
。 >
由外壳程序解释,将命令的标准输出重定向到特定文件。
因此,您需要将正在运行cat
的进程的stdout(文件描述符1)连接到文件:
/* emulating `cat >file` */
int fd = open("file", …);
/* use our own fd 1 */
dup2(fd, 1);
close(fd);
/* with new stdout, exec `cat` */
exec("cat");