📌  相关文章
📜  如何检查 cron 是否正在运行 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:53:10.183000             🧑  作者: Mango

检查 cron 是否正在运行

Cron 是一个 Linux 下的常用工具,用于在指定的时间间隔内定期执行任务。但是有时候,我们需要检查 cron 服务是否在运行中。本文将介绍如何在 Shell-Bash 中检查 cron 是否正在运行。

检查 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 服务是否在运行中,我们还需要检查 cron 任务是否已经成功启动并正在运行中。为此,我们可以使用 ps -ef 命令来列出当前正在运行的所有进程,并检查是否有与 cron 相关的进程。

以下是列出所有进程并过滤与 cron 相关的进程的命令:

ps -ef | grep cron

如果输出的信息中没有与 cron 相关的进程,则表明没有任何 cron 任务正在运行。

如果有与 cron 相关的进程,则表明 cron 任务正在运行中。

结论

通过以上两种方式,我们可以检查 cron 是否正在运行中,以及检查是否有 cron 任务正在运行中。这些命令非常简单易用,可以帮助我们及时发现 cron 服务的问题,并进行必要的调整和处理。