重新启动 crontab @reboot 规则,无需实际重启

重新启动 crontab @reboot 规则,无需实际重启

我正在使用 crontab,其中有一个@reboot条目启动一个包含无限 while 循环的脚本,该脚本正在处理tail -F命令的输出。有没有办法停止当前正在运行的脚本并重新启动规则而@reboot无需实际重启?我正在运行 Debian 6。

答案1

我假设您知道脚本的名称(使用 pkill),或者可以找到其进程 ID(ps aux,然后 kill -9)。然后使用与 crontab 中相同的命令重新启动它。如果您想从会话中分离进程,您可以使用 nhup 或 dtach或类似的东西。

这很简单。更好的方法是编写一个 init(或 upstart 或 systemd)脚本,这样您就可以从那里停止并启动服务。不过,这取决于您的发行版。

答案2

我知道这个问题已经过时了,但我想添加另一个答案以防有人遇到它。接受的答案是正确的,因为它取决于你的发行版,但以下是在 Linux 和 Debian 上执行此操作的方法

您还可以使用以下命令来实现此目的

sudo rm /var/run/crond.reboot 

sudo service cron restart

仅供参考,您可以看到如下 crontab 日志:

grep CRON /var/log/syslog

相关内容