繁体   English   中英

python 脚本不获取在 crontab 中设置的环境变量

[英]python script doesn’t pick up environment variable that is set in crontab

当我从终端运行我的 python 脚本时,由于缺少 env 变量而出现错误。 我可以使用export和设置来解决这个问题。 但是还有其他 python 脚本作为 cron 作业运行良好,也需要它。 我看到这个 env 变量被设置在 cron 选项卡中。 所以我的问题是 cron 中设置的 env 变量是否可用于用户/root 从 cli 运行的脚本? 以 root 身份运行env命令不会显示此变量。

环境变量是每个进程私有的,而不是全局的。 启动新进程时,它会从其父进程继承其初始环境。 您的终端 shell 不是由 cron 启动的,因此它不会继承您在 crontab 中设置的环境变量。

您的操作系统可能会提供一种标准机制来为所有进程设置环境变量(例如,您的终端会启动您的 CLI shell)。 我更喜欢做的是创建一个名为~/.environ的文件,然后我在我的~/.bashrc source cron 作业中获取该文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM