在systemd设置了开机启动脚本后,脚本可以正常运行了,我运行的是uwsgi django,但是很不幸运行过程中发现某一个软件无法正常使用,直接在command line启动uwsgi服务是没有问题的,于是怀疑是环境变量的问题。
在systemd 的service文件中添加PATH
代码语言:javascript复制[Service]
Environment="PATH=/usr/local/texlive/2019/bin/x86_64-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
嗯,可以看到我无法正常调用的软件是texlive。。。
这边需要注意的是PATH需要写完整的地址,如果添加的是Environment="PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH" 会无法识别噢,systemd并不能识别到$PATH是什么,如果可以就不用加这一行了。。。
然后重新加载systemd配置,再重启服务就ok了
代码语言:javascript复制sudo systemctl daemon-reload
sudo systemctl restart test.service