你好,
我尝试以非特权用户身份在启动时使用 Upstart 运行命令/服务,同时保留 /etc/environment。
我在 shell 中遇到了一些好运
exec sudo -u user1 -i "/usr/bin/foo /opt/bar >> /var/log/bar.log 2>&1"
但是,Upstart 似乎不喜欢它(无法弄清楚原因)。我知道一般建议是使用,su
并且我通过手动获取 /etc/environment.local 之类的文件取得了一些成功,但在让 Upstart 监视正确的 PID 时遇到了问题(它一直在 bash 之后运行,而不是/usr/bin/foo
,因此尝试使用 sudo。
任何建议都会有很大帮助。我在 EC2 上使用 Amazon Linux。
答案1
只需将 /etc/environment 文件放入你的 upstart 脚本中?
if [ -e /etc/environment ]; then
. /etc/environment
fi