- 论坛徽章:
- 0
|
各位大虾,小弟准备建立一个daemon进程并且实现每隔1秒将系统时间输出到在一个文件内!需要用C完成!现在我的代码如下:
/* daemon.c */
#include<unistd.h>;
#include<sys/types.h>;
#include <sys/stat.h>;
#include <sys/time.h>;
#include <stdio.h>;
#define MAXFILE 65535
main()
{
pid_t pid;
int i;
pid=fork();
if(pid<0){
printf("error in fork\n" ;
exit(1);
}else if(pid>;0)
/* 父进程退出 */
exit(0);
/* 调用setsid */
setsid();
/* 切换当前目录 */
chdir("/" ;
/* 设置文件权限掩码 */
umask(0);
/* 关闭所有可能打开的不需要的文件 */
for(i=0;i<MAXFILE;i++)
close(i);
/*
到现在为止,进程已经成为一个完全的daemon进程,
你可以在这里添加任何你要daemon做的事情,如:
*/
while(1){
int gettimeofday(tv_sed, tz_minuteswest);
FILE *fopen(const char *path, const char *mode);
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
int fclose(FILE *stream);
sleep(1);
}
}
不知道在while循环中怎么实现功能,或者大虾们有什么高见!在线等!多谢 |
|