呼叫路由-n in cgi

时间:2012-04-19 08:51:08

标签: c cgi routes

我试图在cgic代码中调用route -n但是popen返回null。我尝试使用简单的C代码,但是当我将它放在cgi中时,它会返回null。

       printf("Content-type: text/html\r\n");
       printf("\r\n"); 
        ....
        ..
        stream = popen("route -n", "r");
        while ( fgets(buffer, 100, stream) != NULL )
        {........}

它不会进入while循环。我可以称之为“cat”“netstat”等,但路由-n不起作用。

1 个答案:

答案 0 :(得分:0)

如果我查看我的linux框,我看到route位于/sbin/route下,因此不属于$PATH标准用户的一部分(虽然它是可执行文件)在我的系统上)。

catnetstat位于/bin/下,因此属于$PATH

popen("/sbin/route -n", "r");

将提出这个过程。

如果这不是选项,请将/sbin/添加到您的路径中,它也适用于您的示例。