我正在尝试将我的竹子代理设置为systemd服务。服务文件如下所示:
[Unit]
Description=Atlassian Bamboo Agent
After=syslog.target network.target
[Service]
Type=forking
User=bamboo
Group=bamboo
ExecStart=/opt/bamboo-1/bin/bamboo-agent.sh start
ExecStop=/opt/bamboo-1/bin/bamboo-agent.sh stop
Environment="PATH=/opt/rh/devtoolset-3/root/bin/:/usr/local/bin:/usr/bin"
[Install]
WantedBy=multi-user.target当我检查进程环境时,路径被正确地设置为我所期望的,唯一的例外是我的路径在前面加上了/bin。
cat /proc/12345/environ <--- 12345 is my Bamboo PID
...
PATH=/bin:/opt/rh/devtoolset-3/root/bin/:/usr/local/bin:/usr/bin
...这意味着我的构建将使用错误的gcc、cmake等。
有什么方法可以防止将/bin放在路径的前面吗?
发布于 2016-09-20 04:17:29
我创建了一个测试服务,在将Environment=设置为新路径后,它会打印出路径,并发现它在带有systemd229的Ubuntu16.04上可以正常工作。
我的结论是,您的脚本中的某些内容在您的环境中预先挂起了/bin。
systemd.exec手册页中没有任何内容表明systemd是按照您观察到的方式设计的。
https://stackoverflow.com/questions/39576006
复制相似问题