|  | 
 
| 
本帖最后由 ken 于 2011-12-22 18:52 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 为什么我把守护进程和获取时间封装成函数就不能实现?
 
 
 //实现功能:每隔10s 写 日期时分秒 到log文件中
 //
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/stat.h>
 #include <time.h>
 #include <unistd.h>
 #define LOG_FILE "log.txt"
 #define MODE  "a+"
 
 void Daemon()
 {
 int i;
 const int MAXFD = 64;
 if(fork() != 0)
 {
 exit(0);
 }
 setsid();
 chdir("/");
 umask(0);
 for(i = 0; i < MAXFD; i ++)
 {
 close(i);
 }
 }
 
 void GetTime()
 {
 FILE *fp = fopen(LOG_FILE, MODE);
 if(NULL == fp)
 {
 perror("fopen");
 return;
 }
 char *wday[] = {"Sum", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
 time_t timep;
 struct tm *p;
 time(&timep);
 p = localtime(&timep);
 fprintf(fp,"%d-%d-%d", (1900 + p->tm_year), (1 + p->tm_mon), p->tm_mday);
 fprintf(fp,"%s%d:%d:%d---\n", wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);
 fclose(fp);
 }
 int main()
 {
 Daemon();
 while(1)
 {
 GetTime();
 sleep(10);
 }
 return 0;
 }
 
 | 
 评分
| 参与人数 1 | 荣誉 +10 | 鱼币 +10 | 收起
理由 |  
|  琦天娃娃 | + 10 | + 10 | 来这里linux程序开发的童子不多,支持一个,. |  
查看全部评分
 |