linux怎么查看一个进程的执行状态?
1,写一个服务,用exec或popen执行ps的命令行,根据该进程的名字获取该进程的pid。
sprintf(cmd, “ps -ef|grep %s “,name);
pstr=popen(cmd, “r”);
然后php定时的请求这个机器上的进程状态,如果进程挂掉了,可以做个预警。
2,如果想做的更多,监视当前每个进程的资源消耗,比如CPU,内存,根据进程的id,可以去拿到/proc/pid/status中的一些数据,比如:
//获取进程占用内存
unsigned int get_proc_mem(unsigned int pid){
char file_name={0};
FILE *fd;
char line_buff={0};
sprintf(file_name,”/proc/%d/status”,pid);
fd =fopen(file_name,”r”);
if(nullptr == fd){
return 0;
}
char name;
int vmrss;
for (int i=0; i<VMRSS_LINE-1;i++){
fgets(line_buff,sizeof(line_buff),fd);
}
fgets(line_buff,sizeof(line_buff),fd);
sscanf(line_buff,”%s %d”,name,&vmrss);
fclose(fd);
return vmrss;
}
然后你就可以通过一些图形做一些动态展示了。
如何编写让php页面自动刷新?
PHP页面自动刷新可借助JS来实现,简单示例如下:<?php echo “系统当前时间戳为:”;echo “<br/>”;echo time();//<!–JS 页面自动刷新 –>echo (“<script type=”text/javascript”>”);echo (“function fresh_page()”); echo (“{“);echo (“window.location.reload();”);echo (“}”); echo (“setTimeout(‘fresh_page()’,1000);”); echo (“</script>”);?>