如何查看/停止当前运行的crontab任务?
- 如何查看正在进行的crontab任务?
- 如何手动停止正在进行的crontab任务?
关于当前运行的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 ???
首先,在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
当然,不要忘记给它执行权限:
chmod +x /path/to/my/crontab/script1.sh
其次,您可以在以下输出中看到以有用且可读的格式运行crontab任务:
ps -o pid,sess,cmd afx | egrep "( |/)cron( -f)?$"
它们将出现在第一行,如下所示:
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
第一列是PID,第二列是会话ID,第三列是由cron启动的命令。 您可以使用会话ID终止与特定cron任务相关的所有进程,因此在上面的示例中,您应该终止会话ID 4289:
pkill -s 4289
手动杀死进程的一种方法是使用pkill
。 pkill将停止名称中包含以下模式的所有进程。 例如,停止所有wget进程使用:
sudo pkill wget