从C环境执行shell命令并重定向输出

时间:2018-05-21 15:16:59

标签: c shell unix

我已经看到有关于这个主题的一些问题,但没有一个答案让我满意。问题出在这里:我需要编写两个套接字(客户端和服务器),客户端必须向服务器发送带有一些输入行的awk程序。在套接字之间来回发送字符串没问题。假设我已将程序存储在字符串command中,并且我应该在input中传递给它的字符串,我试过这个:

execl("/usr/bin/awk", command, input, (char *)0);

这样可行,awk程序运行并在服务器的stdout和stderr上写入。事情是,如果有错误的行,我需要将这些发送回客户端,这是不可能的,因为execl没有给我机会将其输出存储在数组中。那么,有没有人知道如何在不使用systempopen的情况下执行此操作?

0 个答案:

没有答案