crond是Linux用来定期执行程序的命令。crond命令每分钟会检查是否有要执行的工作, 如果有要执行的工作便会自动执行该工作。cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务:

       crontab -u:设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数;

       crontab -l :列出某个用户的cron服务;

       crontab -r:删除某个用户的cron服务;

       crontab -e:编辑某个用户的cron服务;

crontab file的格式:

       crontab文件中的行由6个字段组成,不同字段间用空格分隔。前5个字段指定命令要运行的时间:

              分钟(0-59) 小时(0-23)日期(1-31)月份(1-12)星期(0-6,0代表星期日)

       第6个字段是一个要在适当时间执行的字符串

下面我们具体看一个例子,它每隔一分钟向test.log文件里面打印一行字符串“my name is yang xuesong”:

 corn.c文件:

   #include<stdio.h>
   #include<unistd.h>
   
   int main()
   {
       FILE *fp;
       char *buf="my name is yang xuesong\n";
       fp=fopen("test.log","a+");                                                                                                             
       fwrite(buf,strlen(buf),1,fp);
      fclose(fp);
      return 0;
  }

crontab file文件:

1/* * * * * /home/yxs/cron         //可执行文件cron所在的目录路径

执行结果如下:

Linux下crond服务的简单实现_Linux

我们可以看到test.log文件里面每隔一分会打印一行消息。

或者我们可以用下面的方法往test.log里面打印字符串:

       crontab file文件里面的内容:

               */1 * * * * echo “my name is yang xuesong!”>> /home/yxs/test.log

运行结果:


Linux下crond服务的简单实现_crond_02