linux – cron job的服务器用法是什么?

linux – cron job的服务器用法是什么?,第1张

概述好的, 我正在考虑创建一个取决于cronjob的webscript ..我想知道,它会不会使任何服务器损坏crontabs的数量? 假设我每天要完成50个crontabs,会不会对服务器造成伤害? 如果不是,那么在linux服务器@ 512MB内存中添加的最大crontabs数量是多少 当您创建新作业时,cron守护程序调用函数job_add(job.c),此函数将内存分配给作业并将其添加到作业列 好的,
我正在考虑创建一个取决于cronjob的webscript ..我想知道,它会不会使任何服务器损坏crontabs的数量?

假设我每天要完成50个crontabs,会不会对服务器造成伤害?
如果不是,那么在linux服务器@ 512MB内存中添加的最大crontabs数量是多少

解决方法 当您创建新作业时,cron守护程序调用函数job_add(job.c),此函数将内存分配给作业并将其添加到作业列表的尾部.
作业是在堆上分配的,所以理论上你只受机器上安装的RAM的限制.

CRON代码中的一些注释:

工作结构:

typedef struct _job {    struct _job     *next;    entry           *e;    user            *u;} job;

每个用户crontab条目由以下内容定义:

typedef struct _entry {        struct _entry   *next;        uID_t           uID;        gID_t           gID;        char            **envp;        char            *cmd;        bitstr_t        bit_decl(minute,MINUTE_COUNT);        bitstr_t        bit_decl(hour,HOUR_COUNT);        bitstr_t        bit_decl(dom,DOM_COUNT);        bitstr_t        bit_decl(month,MONTH_COUNT);        bitstr_t        bit_decl(dow,DOW_COUNT);        int             flags;#define DOM_STAR        0x01#define DOW_STAR        0x02#define WHEN_REBOOT     0x04} entry;

和用户结构:

typedef struct _user {        struct _user    *next,*prev;   /* links */        char            *name;        time_t          mtime;          /* last modtime of crontab */        entry           *crontab;       /* this person's crontab */} user;

你可以看到这个结构并没有消耗大量的内存.
如果您对cron的实现方式感到好奇,可以在这里看到代码:cron ubuntu source.

总结

以上是内存溢出为你收集整理的linux – cron job的服务器用法是什么?全部内容,希望文章能够帮你解决linux – cron job的服务器用法是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1019588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存