cron
守护进程在执行计划任务时,使用的是一个非常基础的Shell环境,它并不加载用户级别的.bashrc
、.profile
、.bash_profile
或类似的Shell初始化文件。这意味着在这些文件中设置的环境变量、函数或别名在cron
任务中是不可用的。
然而,cron
守护进程会加载系统级的/etc/environment
文件,以及cron
守护进程特有的/etc/cron.d
和/etc/crontab
配置文件。此外,每个用户都有自己的crontab
文件,可以在其中定义环境变量。
所以同一个命令 手动执行和crontab执行 JAVA_HOME环境变量可能会不一样,走的jre不一样,可能会有隐藏的bug
crontab -u admin -l