【发布时间】:2019-06-14 05:46:34
【问题描述】:
我有 execv("/bin/sh", arguments),它使用参数作为命令执行 shell。
我在终端中获得了输出,但我需要将其存储在一个文件中。我该怎么做?
我在 fork 调用中有 execv。
例如,如果传递给 execv 的参数是 pwd,程序会在终端上打印当前工作目录,但我想将输出重定向到文件或某个缓冲区,以便我可以将其发送到我的客户端终端(我是做客户端-服务器多线程编程)
【问题讨论】:
-
你能提供一些细节吗?我认为您的执行官在 fork() 内?您是否需要将标准输出重定向到文件或将数据发送到两个流?你看过 freopen() 或 dup2() 吗?到目前为止你的结果是什么。
-
更新了问题。
-
谢谢!看了 dup2 调用后得到了答案。