Solaris中的popen / pclose问题

时间:2010-01-18 12:08:14

标签: c solaris

大家好,我希望有人能帮助我。我在C中运行一个简单的程序,在Solaris 8中运行,我在使用popen / pclose时发现了一个问题。

FILE * stream; stream = popen(“ps -ef | grep”pattern“);

如果(pclose函数(流)){          printf(“Erro no fechamento da stream \ n”); }

grep命令中的模式它只是我用来处理较少数量字符串的过滤器。当然在我的代码中我对返回的流做了一些处理,但我已经删除了这个处理并且错误一直在发生。

pclose函数返回错误256,使用WIFEXITED显示它不是命令的异常结束,并且使用WSTATUS显示错误1,我不知道究竟是什么意思。

显然,当命令返回一个空字符串或只有一行时会发生这种情况。

有没有人知道这个错误的含义?

提前致谢

1 个答案:

答案 0 :(得分:1)

man 1 grep

  

退出状态

     

返回以下退出值:

     

0
  选择了一条或多条线。

     

1
  没有选择任何行。

     

→1个
  发生错误。