Cron 奇怪的行为

Fab*_*nne 0 linux cron crontab cronjob bash-scripting

我有一个 Bash 脚本,具有所有要执行的权限,我将它附加到一个 cron 作业,这个脚本基本上只杀死并重新启动一个特定的进程,奇怪的行为是,如果我通过终端运行脚本一切正常正如预期的那样,它会取消进程并重新启动它,但是当触发 cron 作业时,它只会取消进程,仅此而已......知道为什么会发生这种行为吗?谢谢

jcb*_*rmu 5

请记住,在cron中运行的脚本与在shell 中运行的脚本具有不同的环境。

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

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

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

使用完整路径,例如:

而不是简单地调用javaorpython你必须使用/usr/bin/javaor /usr/bin/python