📅  最后修改于: 2023-12-03 14:53:10.183000             🧑  作者: Mango
Cron 是一个 Linux 下的常用工具,用于在指定的时间间隔内定期执行任务。但是有时候,我们需要检查 cron 服务是否在运行中。本文将介绍如何在 Shell-Bash 中检查 cron 是否正在运行。
要检查 cron 是否在运行中,可以使用以下命令:
systemctl status cron
该命令将返回 cron 服务的状态信息,如果该服务正在运行,则会输出以下内容:
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-06-01 15:13:21 UTC; 16s ago
Docs: man:cron(8)
Main PID: 17674 (cron)
Tasks: 1 (limit: 1137)
CGroup: /system.slice/cron.service
└─17674 /usr/sbin/cron -f
在输出信息中,Active 一行的状态为 active (running)
表明 cron 正在运行中。
如果 cron 服务没有运行,则输出信息为:
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:cron(8)
在输出信息中,Active 一行的状态为 inactive (dead)
表明 cron 没有在运行中。
除了检查 cron 服务是否在运行中,我们还需要检查 cron 任务是否已经成功启动并正在运行中。为此,我们可以使用 ps -ef
命令来列出当前正在运行的所有进程,并检查是否有与 cron 相关的进程。
以下是列出所有进程并过滤与 cron 相关的进程的命令:
ps -ef | grep cron
如果输出的信息中没有与 cron 相关的进程,则表明没有任何 cron 任务正在运行。
如果有与 cron 相关的进程,则表明 cron 任务正在运行中。
通过以上两种方式,我们可以检查 cron 是否正在运行中,以及检查是否有 cron 任务正在运行中。这些命令非常简单易用,可以帮助我们及时发现 cron 服务的问题,并进行必要的调整和处理。