鱼C论坛

 找回密码
 立即注册
查看: 3383|回复: 7

关于守护进程的程序无法运行(新手)

[复制链接]
发表于 2011-12-22 18:48:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ken 于 2011-12-22 18:52 编辑

为什么我把守护进程和获取时间封装成函数就不能实现?


//实现功能:每隔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程序开发的童子不多,支持一个,.

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-22 20:19:05 | 显示全部楼层
已明白原因了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-22 22:36:21 | 显示全部楼层
本帖最后由 琦天娃娃 于 2011-12-22 22:40 编辑

好吧……除了加了个<sys/types>外,程序顺利跑通……



3.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-22 23:08:42 | 显示全部楼层
一开始我以为log.txt是在放程序的那个目录下,后来才知道在chdir的那个目录下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-23 00:23:02 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-23 12:58:56 | 显示全部楼层
这里学嵌入式的好像比较少?请问 琦天娃娃 是学Linux嵌入式的吗? 以后能否多请教请教?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-23 21:28:12 | 显示全部楼层
不是……我只不过偶尔搞搞linux内核……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-24 11:39:39 | 显示全部楼层
那说明对LINUX还是比较熟的,望以后能多多交流
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 05:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表