使用 crontab -e 修改正在运行的 cron 进程后会发生什么?

使用 crontab -e 修改正在运行的 cron 进程后会发生什么?

情况是这样的:

  • 我使用 Cron 启动一个程序 @reboot(操作系统是 Debian 11)。
  • 该程序会持续执行任务,除非遇到非法状态。
  • 我使用 crontab -e 更改该程序的 CLI 变量。
  • Cron 响应说它已成功安装新的 crontab。

Cron 的预期行为是什么?

  1. 它停止了正在运行的程序并启动了一个新程序。
  2. 它再次启动该程序并让旧程序继续运行。
  3. 它不执行任何操作,并在下次重新启动操作系统时使用新的 CLI 变量启动程序。

Three 描述了我期望的行为,因为它应该只在重启时启动程序。但我在网上找不到任何实现规则。

答案1

@reboot :重启后运行一次。

因此,对于您的特定用例 3。

但是,对于长期运行的进程来说,systemd 服务可能是一种更好的方法。

相关内容