★实验 8-1 1. 创建一个守候进程。并为自己创建独立的日志文件。 2. 每隔 1s 向日志文件中写入如下信息: a) 未使用的内存大小(MemFree) 可以从/proc/meminf
2017-07-16 21:25
615 查看
★实验 8-1 1. 创建一个守候进程。并为自己创建独立的日志文件。 2. 每隔 1s 向日志文件中写入如下信息: a) 未使用的内存大小(MemFree) 可以从/proc/meminfo 获取 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <signal.h> #include <sys/param.h> #include <sys/types.h> #include <sys/stat.h> #include <string.h> void init_deamon(void) { int pid; int i; if(signal(SIGCHLD,SIG_IGN) == SIG_ERR){ printf("Cant signal in init_daemon."); exit(1); } if(pid=fork()) exit(0); else if(pid< 0){ perror("fail to fork1"); exit(1); } setsid(); if(pid=fork()) exit(0); else if(pid< 0) exit(1); for(i=0;i< getdtablesize();++i) close(i); chdir("/tmp"); umask(0); return; } float get_memfree()//从文件/proc/meminfo中读出memfree的值 { FILE* fp; char buffer[1024]; size_t bytes_read; char* match; float memfree; fp = fopen ("/proc/meminfo", "r"); bytes_read = fread (buffer, 1, sizeof (buffer), fp); fclose (fp); buffer[bytes_read] = '\0'; match = strstr (buffer, "MemFree"); if (match == NULL) return 0; sscanf (match, "MemFree : %f", &memfree); //读取 return memfree; } int main() { FILE *fp; init_deamon(); while(1) { sleep(1); if((fp=fopen("print_memfree","a")) >=0) { fprintf (fp,"MemFree now is: %4.0f MHz\n", get_memfree ()); fclose(fp); } } return; }
相关文章推荐
- ★实验 8-2 1. 创建两个守候进程。每个守候进程各自创建独立的日志文件。 2. 每隔 1s 向日志文件中写入如下信息: a) 守候进程 1:未使用的内存大小(MemFree) b) 守
- # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k => 1000 bytes # 1kb =>
- 如何创建一个静态库文件,并打包在模拟器和真机上都可以使用。
- XenServer没有自己的文件系统,也就没有自己的ISO Libery,给我们创建虚拟机带来了不少困扰,使用正文这个方法可以不用先安装FileServer
- 使用/proc/meminfo文件查看内存状态信息
- 自己编写的一个程序:读取XML格式的日志文件,并以一定的数据写入数据库中
- 自己写的一个图片上传类,很方便可以指定目录,系统自动创建目录,可以指定名字,类型,大小
- 动态创建文本文件并写入数据 避免正由另一进程使用,因此该进程无法访问该文件。的问题
- java.io,PrintWriter可以用来创建一个文件并向本文文件写入数据
- 自己动手实现一个守护进程,当控制台窗口关闭时还可以在后台运行。每隔一秒钟向my.log文件中插入一条记录
- 完成一个学生管理程序,使用学号作为键添加5个学生对象,并可以将全部信息保存在文件中,可以实现对学生信息的学号查找,输出全部学生信息的功能。
- Php可以使用error_log()函数直接打日志并写入文件
- 在Maximo7中如何使用日志记录应用程序创建一个日志文件?
- 一个EXT3的文件分区,当使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满
- 扔掉log4j、log4j2,自己动手实现一个多功能日志记录框架,包含文件,数据库日志写入,实测5W+/秒日志文件写入,2W+/秒数据库日志写入,虽然它现在还没有logback那么强大
- 一个可创建读取日志的管理类(可固定创建2M大小的日志文件)
- stat函数的使用 获取文件状态 可以将文件状态复制保存在一个stat结构地址中,以此取得文件的大小等状态
- 利用5个标签,4个文本框,2个按钮,自己设计布局实现输入三边求三角形面积。界面如下所示。三角形类的编写可以使用实验4中已经写过的三角形类,当点击“判断三边”时,若能构成三角形,在标签5上显示“可以构成三角形!”,如不能构成三角形,在标签5上显示“不能构成三
- 如何使用VS 2013发布一个可以在Windows XP中独立运行的可执行文件
- 使用Shell向syslog日志文件写入信息