所以,我有 start.sh 文件来启动 imagecache 服务。我有可执行的二进制文件“imgproxy”,我需要启动它并将两个参数传递给它,比如文本文件。start.sh 文件主体:
export IMGPROXY_LOCAL_FILESYSTEM_ROOT="/home/filestorage/media"
export IMGPROXY_BIND=":9608"
./home/tools/imgproxy/imgproxy -keypath ./home/tools/imgproxy/key.txt -saltpath
./home/tools/imgproxy/salt.txt
ExecStartPre=nohup /bin/bash /home/tools/imgproxy/start.sh </dev/null >/dev/null 2>&1 &
我用命令“ExecStartPre”启动它,因为我有主服务和二进制文件它们的依赖关系。在启动我的主要服务之前,我必须启动这个二进制文件。
因此,当我启动服务时出现以下错误:
systemd[1]: [/etc/systemd/system/imagecache.service:11] Executable path is not absolute, ignoring: nohup bash /home/tools...ull 2>&1 &
有人知道如何解决吗?
先感谢您。
绝对路径是从根目录开始的文件的完整路径
/
。看起来您需要提供在nohup
CentOS 7 系统上的绝对路径是/usr/bin/nohup
.我真的不知道您正在使用的工具,但如果可能的话,我会很想将目标设为
ExecPreStart
它自己的服务并使主要服务依赖于它。的文档systemd.service
非常值得一读。