我安排了一项测试at
作业并用 对其进行了审查atq
,但我没有看到atd
可以执行这些作业的守护进程。
这是在 Solaris / Illumos 内核中管理的吗?如果不是,哪个守护进程管理at
作业?
事实上,我很奇怪没有找到atd
,因为已经有一个守护进程了cron
。
答案1
根据cron
Solaris 10 的手册页:
姓名
cron-时钟守护进程
概要
/usr/sbin/cron
描述
cron 启动一个在指定日期和时间执行命令的进程。
您可以根据目录 /var/spool/cron/crontabs 中的 crontab 文件中的说明向 cron 指定定期安排的命令。用户可以使用 crontab(1) 命令提交自己的 crontab 文件。只需执行一次的命令可以使用在(1)命令。
cron 仅检查 crontab 或在命令文件在其自身的进程初始化阶段以及 crontab 或在命令运行。这减少了定期检查新文件或更改文件的开销。
由于 cron 永远不会退出,因此它应该只执行一次。这通常通过 svc:/system/cron:default 服务完成。文件 /etc/cron.d/FIFO 文件用作锁定文件,以防止执行多个 cron 实例。
cron 捕获作业的 stdout 和 stderr 流的输出,如果输出不为空,则将输出发送给用户。如果作业没有产生输出,则不会向用户发送邮件。例外情况是,如果作业是在(1)job,并且在提交作业时指定了-m选项。
cron 和在如果您的帐户被锁定,则不会执行作业。作业和进程将执行。shadow(4) 文件定义哪些帐户未被锁定,并且将执行其作业和进程。
因此在 Solaris 中不存在atd
一次性作业,它cron
也由守护进程处理。