PHP监控linux服务器负载
前面我们说到《PHP执行linux系统命令》:http://www.ccvita.com/390.html,即是为本文做铺垫。在实际项目的应用中,我们由于各种条件的现实,利用PHP来实现服务器负载监控将是一种更为灵活的方式。
由于Web Server以及PHP的实现方式所限,我们在现实环境中很难利用PHP去调用一些Linux中需要root权限才能执行的程序,对此,我从网上找到另外一种方式来绕开这个限制。首先先写个c程序中转调用系统命令,然后用PHP去执行此c程序。
c程序
首先写个c文件,比如/usr/local/ismole/w.c
//note 由于wordpress编辑器的原因,请将此代码中头文件多余的空格去除
#include < stdio.h>
#include < stdlib.h>
#include < systypes.h>
#include < unistd.h>
int main()
{
uid_t uid ,euid;
//note 获得当前的uid
uid = getuid();
//note 获得当前euid
euid = geteuid();
//note 交换这两个id
if(setreuid(euid, uid))
perror("setreuid");
//note 执行将要执行linux系统命令
system("/usr/bin/w");
return 0;
}
#include < stdio.h>
#include < stdlib.h>
#include < systypes.h>
#include < unistd.h>
int main()
{
uid_t uid ,euid;
//note 获得当前的uid
uid = getuid();
//note 获得当前euid
euid = geteuid();
//note 交换这两个id
if(setreuid(euid, uid))
perror("setreuid");
//note 执行将要执行linux系统命令
system("/usr/bin/w");
return 0;
}
编译该文件gcc -o ipt -Wall w.c,这时会在当前目录下生成程序w。
改变此程序的属主chmod u+s ./w。
文章列表
- PHP执行linux系统命令
- 利用SVN搭建测试服务器
- 解决vsftpd登陆慢卡的问题
- Linux中Load average的理解
- PHP下eAccelerator使用记录
- Nginx下Discuz!的Rewrite
- Linux下查看Apache的请求数
- 解决vsftpd日志时间问题
- Liunx下查看服务器性能
- Nginx的Rewrite配置
- Nginx的防盗链配置
- HTTP的Etag标记
- 简单了解Varnish
- CentOS下安装网卡驱动
- Linux下Sendmail慢卡的解决
- Linux硬Raid安装手记
- Linux下MySQL5.1的安装
- Linux下的Memcache安装
- Unix命令大全
- Unix常用命令