Chinaunix

标题: 关于system函数输出的问题 [打印本页]

作者: andrew913    时间: 2009-03-10 11:29
标题: 关于system函数输出的问题
int32_t pppoe_system(char *cmd)
{
        char command[256];
        int status;
       
        bzero(command,256);
        sprintf(command,"%s%s",cmd," > /dev/null 2>&1";
        status = system(command);
        if(status == -1)
                return -1;

        return WEXITSTATUS(status);
}
int main(int argc , char *argv[])
{
        int ret=0;
        char cmd[128];
        sprintf(cmd,"******";
        pppoe_system(cmd);
}


上面是我的程序,当我的cmd命令有错的时候,通过 > /dev/null 2>&1来屏蔽输出以及错误信息,程序执行完全没有问题。

现在我将我的pppoe_system()应用到我的CLI程序里面去,发现当命令(cmd)执行有错的时候,却无法屏幕错误信息。
这是什么原因啊,真的很怪异哦,真是郁闷。
难道是某些地方可以改变的我错误输出。


[ 本帖最后由 andrew913 于 2009-3-10 11:30 编辑 ]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2