Linux中的守护进程——cron进程
时间:2023-03-31 05:35:56 点击:64

  刚开始的时候对于后台进程,守护进程,以及cron进程的关系根本没弄清楚,现在了解了。就像我前面的文字里面写的:

  后台进程:运行时无须用户输入的程序。可以在诸如 UNIX/Linux 之类的多任务操作系统上运行多个后台进程,而用户则与前台进程交互(例如,数据输入)。有些后台进程(例如守护程序)从来都不需要用户输入。其它一些进程只是在用户忙于目前运行于前台的程序时才临时处于后台。

  守护进程是一种后台进程。Cron进程是众多守护进程中的一种,看看Cron这个单词在字典里面的解释:

  cron

  = chronograph,【unix】(时钟)守护程序,(精密)计时程序

  从字面意思就可以大概了解,它是一种和时间有关系的程序,简单的说,cron守护进程执行预定的命令,他会在预定的时间执行预订的命令或者脚本。

  好,知道了他是干嘛的,现在就来了解他是怎么工作的。

  “以一定的时间间隔运行作业需要使用 cron 进行管理,它由crond守护进程和一组表(描述执行哪些操作和采用什么样的频率)组成。这个守护进程每分钟唤醒一次,并通过检查 crontab 判断需要做什么。用户使用crontab命令管理 crontab。crond守护进程常常是在系统启动时由 init 进程启动的。“

  注:上文摘自网络,实际上,在我的机器上,安装的是Vixie-Cron,所以我的电脑上不是crond,而是Vixie-Cron

  关于crontab这个表的内容,以及如何写这个表,前面一篇文字已经有讲过,不再赘述。有一点新的内容需要补充,时间后面的字段,也就是第六个字段:第 6 个字段包含前 5 个字段之后的所有内容,它是要传递给shell 的字符串。百分号(%)将转换为空行,所以如果要使用 % 或其他任何特殊字符,就要在前面加上反斜线()。第一个 % 之前的一行传递给 shell,这个 % 之后的所有行都作为标准输入传递。

  一般来说,只有root用户才有权限去运行cron进程,若管理员允许或者禁止其他用户使用,则应编辑/etc/下面的c r o n . d e n y和c r o n . a l l o w这两个文件来禁止或允许用户拥有自己的c r o n t a b文件。

  每一个用户都可以有自己的c r o n t a b文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过c r o n . d e n y和c r o n . a l l o w这两个文件来禁止或允许用户拥有自己的c r o n t a b文件。

  若没有自己的crontab文件,则第一次使用时可能应该手动创建一个文件,然后使用$ crontab <你的crontab文件名> 来提交你的crontab,之后就可以用crontab命令来修改,删除,列出你的crontab的内容了。关于如何此命令如何使用也参见上一篇关于cron的博客日志。

  注:crontab这个词的意思,本身他是一个表,里面记录预订时间预定执行的命令或脚本;第二,他也是个命令,用户使用 crontab 命令管理 crontab这个表。

  cron在运行的时候要查看crontab来进行作业的调度。这里上文有几句话非常重要,解释了我碰到过的问题:这个守护进程每分钟唤醒一次,并通过检查 crontab 判断需要做什么。每分钟检查一次crontab,然后做一次运行命令或脚本的安排。

  用户自己创建的crontab在哪儿呢?在这里:/var/spool/cron/crontabs 。其实,cron检查的crontab不只包括用户自己创建的crontab,还有系统的crontab,包括/etc/crontab和/etc/cron.d 目录中的文件(/etc/cron.d 下有可能会存在at调度的作业)。其中/etc/crontab有必要解释一下,一个典型的例子:

  /etc/crontab

  SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

  HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly

  02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root

  run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly

  在这些系统 crontab 中,在第五个时间字段(星期)和命令之间增加了一个字段。这个字段指定哪个用户应该运行这个命令,一般情况下是根用户。然后解释下后面的命令:在/etc/下会有cron.hourly,cron.daily,cron.weekly,cron.monthly这四个文件夹,他们下面分别放着一些文件,用来指定每小时,每天,每个星期,每个月要执行的操作,命令run-parts的意思是执行下面目录里面的程序和脚本,例如run-parts /etc/cron.hourly意思就是执行/etc/cron.hourly文件夹下的程序以及脚本。

  在这个示例中,真正的工作由 run-parts 命令执行,它运行 /etc/cron.hourly、/etc/cron.daily 等目录中的脚本;/etc/crontab 仅仅控制执行作业的时间。注意,这里的所有命令都作为根用户运行。还要注意,crontab 可以包含 shell 变量赋值,这些赋值会在运行命令之前执行。

  输出

  您可能想知道对来自命令的输出会如何处理。为使用 cron 而设计的大多数命令会使用 syslog 在日志中记录输出(参见教程 “LPI 102 考试准备:管理任务“ 中的讨论)。但是,定向到 stdout 的输出会通过电子邮件发送给用户。

  对上面这段还不是很明白。但是我们可以在系统日志/var/log/messages里面看到你cron调度的命令或者脚本有么有执行。然后,目前测试,如果是GUI的应用程序,似乎用cron不能良好的运行,所谓不能良好的运行,举例来说:不能使用mp3blaster播放音乐,因为他需要使用ncurses去绘制他的界面;在比如,使用mplayer去播放视频,我下午的测试,只能播放出音乐,不能显示出视频。

  在gentoo里面用eix -s cron看了下,cron这种程序还是有很多种的,不同的人开发的不同特色的cron程序。比如dcron,fcron等等,详细就自己去看下description了。

  对于cron的学习,可能这也算是告一段落了,总结一下,以示庆祝

展开 ↓
标签: 《隐形守护者》庄晓曼角色浅析图(《隐形守护者》庄晓曼角色浅析图片) 《幻塔》天空守护者成就怎么做任务(幻塔zhihu) csgo守护模式路线(csgo守护模式怎么过) csgo殒命大厦守护模式怎么过(csgo守护模式殒命大厦攻略) 《塞尔达传说:旷野之息》守护者之枪获得方法是什么(塞尔达传说守护者之枪在哪里刷) 《我的世界》魔法金属大地守护石怎么获得(我的世界魔法金属魔法原石怎么获得) 《符石守护者》邪神信仰介绍(符石守护者邪神怎么信仰) 《守护神域》最强阵容攻略大全图文(守护神域阵容搭配) csgo殒命大厦收藏品怎么获得(csgo殒命大厦守护模式怎么过) 《我的世界》虚无世界2森林守护者在哪(我的世界虚无世界2丛林在哪找) 《我的世界》虚无世界3森林守护者之柱在哪(虚无世界森林守护者怎么召唤) 《原神》守护之心圣遗物推荐角色有哪些(原神守护之心效果) 《英雄联盟》时光守护者基兰角色介绍(基兰时光机器皮肤多少钱) 《原神》守护之心怎么获取的(原神守护者) 《恐怖黎明》幻界守卫者套装属性一览(恐怖黎明守护者的凝视) 《恐怖黎明》星座守护者之眼属性详解(恐怖黎明这个星座依赖) 《崩坏3》连山守护武器怎么样啊(连山崩坏三) 《隐形守护者》第十章剧情预测(《隐形守护者》第十章剧情预测视频) 《英雄联盟》时光守护者玩法介绍技巧是什么(lol时光守护者怎么玩) 八方旅人守护项链(八方旅人守备的饰章) 《守护者盟约》游戏特色内容介绍(守护者联盟初衷是什么) 《隐形守护者》庄晓曼不死攻略分享(隐形守护者庄晓曼结局攻略) 《传说守护者》游戏要求配置是什么(守护者传说好玩吗) 《八方旅人2》岛屿守护者成就怎么解锁不了(八方旅人支线任务守墓的工作) 《lol手游》福牛守护者佛耶戈特效怎么获得(福牛守护者佛耶戈炫彩皮肤) 《原神》守护之心圣遗物获取方法(守护之心圣遗物) lol福牛守护者通行证有什么用(英雄联盟福牛守护者通行证有什么用) 《灵魂潮汐》重盾骑士玩法介绍(灵魂潮汐盾之守护者) 《符石守护者》基本常识介绍大全(符石守护者剧情攻略) 《符石守护者》邪神信仰介绍图(符石守护者神像) lol守护者之剑(守护者之刃) 《崩坏3》月神之守护武器怎么样啊(崩坏三月神之守护是谁的专属) 《原神》守护之心圣遗物获取方法(原神守护之心套装在哪刷) 《暗黑地牢》守护枷锁属性介绍大全(暗黑地牢守护) 《我的世界》虚无世界3森林守护者打法介绍(虚无世界森林守护者怎么召唤) 《传说守护者》登陆ns时间是多少(守护者传说手柄) 《荣耀战魂》守护鬼技巧分享(荣耀战魂怎么打守护鬼) 《魔渊之刃》元素守护神火机制介绍(魔渊之刃武器守护神) 《金铲铲之战》星之守护者多少钱一个(《金铲铲之战》星之守护者多少钱一个英雄) 《魔渊之刃》元素守护神火机制介绍(魔渊之刃元素守护) 八方旅人守护项链(八方旅人守护项链在哪里买) 《我的世界》虚无世界2飞翔爬行者在哪(我的世界虚无世界飞行守护者祭坛) 《隐形守护者》第十章剧情预测分析(隐形守护者第十章100) linux 解读SVCHOST.EXE病毒or系统进程? 进程 如何获取linux进程的执行文件路径 helpctr.exe是什么进程 li

最新游戏更多

最新软件更多

  • 玩家推荐
  • 游戏攻略

金钼软件下载站 Copyright(C) 2008- 601958.cn All Rights Reserved!

闽ICP备2023004188号| 免责声明