如何查看/停止当前运行的crontab任务?

Modified on: Sat, 09 Jun 2018 08:33:53 +0800
  1. 如何查看正在进行的crontab任务?
  2. 如何手动停止正在进行的crontab任务?
  3. 醇>
      

    关于当前正在运行的cron进程是否有[此]问题?

      

    手动杀死进程的一种方法是使用pkill

    我曾考虑过pkill / killall,但我在crontab文件中的一些命令分别是!这意味着在完成命令后,下一个命令将启动!例如:

    sudo crontab -e

    00 10 * * * /usr/bin/wget LINK ; shutdown -h now

    所以,如果我杀了wget,计算机将关机! - >我想完全杀死一个cron任务,而不是它的一部分!

    下一个pkill问题:脚本怎么样? (我已经将一些bash脚本导入到crontab -e) - > sudo pkill ???

作者:,mini

最佳答案

首先,在crontab中每行只使用一个命令。更改此crontab行:

00 10 * * * /usr/bin/wget LINK ; shutdown -h now

所以它看起来像:

00 10 * * * /path/to/my/crontab/script1.sh

并使用以下内容创建/path/to/my/crontab/script1.sh

#!/bin/bash /usr/bin/wget LINK shutdown -h now

当然,不要忘记给它执行权限:

#!/bin/bash
/usr/bin/wget LINK
shutdown -h now


其次,您可以在输出中看到以有用且可读的格式运行crontab任务:

chmod +x /path/to/my/crontab/script1.sh

它们将出现在第一行,如下所示:

ps -o pid,sess,cmd afx | egrep "( |/)cron( -f)?$"

第一列是PID,第二列是会话ID,第三列是cron启动的命令。您可以使用会话ID终止与特定cron任务相关的所有进程,因此在上面的示例中,您应该终止会话ID 4289:

1108  1108 cron
4288  1108 \_ CRON
4289  4289     \_ /bin/sh -c /path/to/my/crontab/script1.sh
4290  4289         \_ /bin/bash /path/to/my/crontab/script1.sh
4295  4289             \_ /usr/bin/wget LINK

相关问答

添加新评论