LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 965|回复: 1

为什么Perl-CGI里面调用的top命令在浏览器中不显示数据?

[复制链接]
发表于 2006-2-7 02:13:07 | 显示全部楼层 |阅读模式
在命令行下执行可以显示,但是在浏览器中不显示,查看生成的网页代码确实没有得到数据,相关的perl代码如下:

  1. print p("CPU State: ", `/usr/bin/top -n1|/bin/grep '^[Cc][Pp][Uu]'`);
复制代码

同样的:

  1. print p("CPU State: ", `/usr/bin/sar 1 3`);
复制代码

就工作得很好。
对比命令行跟浏览器的执行环境,区别就是有无SHELL,但是我写了个SHELL脚本,然后写了个C的小程序调用那个脚本输出,最后在Perl-CGI里面调用这个C程序,居然还是不行!!!
SHELL:

  1. #!/bin/sh                                                                                                                                                            
  2. /usr/bin/top -n1|/bin/grep '^[Cc][Pp][Uu]'
复制代码

C:

  1. #include<stdio.h>
  2. #include<stdlib.h>

  3. main(){
  4.   system("sh /usr/local/sbin/getcpustat.sh");
  5. }
复制代码
发表于 2006-2-7 16:47:55 | 显示全部楼层
大哥,权限的问题,apache的用户不具有这样的权限,需要suexec的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表