我有一些进程作为守护进程或从 cron 启动。
它们可以在没有 shell 的情况下在用户帐户下运行。
如何设置系统范围的环境变量?我的意思是在用户登录之前源自所有进程的环境。
我需要考虑特殊的考虑因素、技巧、副作用吗?特别是关于变量 LD_PRELOAD
答案1
没有通用的方法来设置系统范围的环境变量。
有了系统,将Environment=
语句添加到服务配置中。
与暴发户一起,将env
语句添加到作业配置中。
使用 SysVinit,将export
语句添加到服务启动脚本中。
对于 cron 作业,将VAR=VALUE
行添加到 crontab。
LD_PRELOAD
以程序作者不希望的方式更改程序的行为,因此您应该只为真正需要它的程序设置它。即使有办法设置系统范围的环境变量,LD_PRELOAD
也不应该设置得如此广泛。