Cron奇怪的行为

Cron奇怪的行为

我有一个 Bash 脚本,具有所有可执行的权限,我将它附加到 cron 作业,该脚本基本上只会终止并重新启动特定进程。奇怪的是,如果我通过终端运行脚本,一切都会按预期正常进行,它会关闭进程并重新启动它。但是当触发 cron 作业时,它只会关闭进程,仅此而已...知道为什么会出现这种行为吗?

答案1

请记住,在计划任务与脚本运行的环境不同

cron 守护进程从您的 HOME 目录启动一个子 shell。

cron 守护进程为每个 shell 提供一个默认环境,定义HOMELOGNAMESHELL(= /usr/bin/sh) 和PATH(= /usr/bin)。

不要依赖环境变量。这包括路径设置、x11 设置或其他任何内容。

使用完整路径,例如:

而不能简单地调用java或,python您必须使用/usr/bin/java/usr/bin/python

相关内容