Solaris/Illumos 是否有用于 at 作业或内部管理的守护程序?

700*_*are 1 solaris at job-scheduler illumos

我安排了一个测试at工作并使用 对其进行了审查atq,但我没有看到atd可以执行它们的守护程序。

这是在 Solaris / Illumos 内核中管理的吗?如果没有,哪个守护进程管理at作业?

我实际上很惊讶没有找到atd,因为cron已经有一个守护进程。

小智 5

根据cronSolaris 10的手册页:

姓名

cron - 时钟守护进程

概要

/usr/sbin/cron

描述

cron 启动一个进程,在指定的日期和时间执行命令。

您可以根据 /var/spool/cron/crontabs 目录中的 crontab 文件中的说明,指定定期调度的命令到 cron。用户可以使用 crontab(1) 命令提交他们自己的 crontab 文件。只执行一次的命令可以使用at(1)命令提交。

cron 仅在其自己的进程初始化阶段以及运行crontab 或at命令时检查 crontab 或at命令文件。这减少了定期检查新文件或更改文件的开销。

由于 cron 永远不会退出,它应该只执行一次。这通常通过 svc:/system/cron:default 服务完成。文件/etc/cron.d/FIFO 文件用作锁定文件,以防止执行多个cron 实例。

cron 捕获作业的 stdout 和 stderr 流的输出,如果它不为空,则将输出邮寄给用户。如果作业不产生输出,则不会向用户发送邮件。一个例外是如果作业是at(1)作业并且在提交作业时指定了 -m 选项。

如果您的帐户被锁定,则不会执行cron 和at作业。作业和进程执行。shadow(4) 文件定义了哪些帐户未被锁定并且将执行其作业和进程。

所以atd在 Solaris 中没有,一次性作业也由cron守护程序处理。