Centos 7
问题是:如果我在控制台中写道:
/opt/dklab_realplexor/dklab_realplexor.int start
一切正常,服务已启动。如果您创建服务文件并执行此操作:
systemctl start realplexor
该服务属于错误(在这种情况下不写入或由于某种原因)并且不创建PID文件。告诉我,因为它可能是什么?在dklab_realplexor.int里面运行带参数的perl脚本。
cd $CWD && $BIN $CONF -p $PIDFILE 2>&1 | logger -p `eval" echo $LOGPRI "` -t `eval" echo $LOGTAG "` &
完整服务档案:
[Unit]
Description=realplexor
[Service]
Type=forking
PIDFile=/var/run/dklab_realplexor_dklab_realplexor.conf.pid
WorkingDirectory=/opt/dklab_realplexor
User=root
Group=root
Environment=RACK_ENV=production
OOMScoreAdjust=-1000
ExecStart=/opt/dklab_realplexor/dklab_realplexor.int start
ExecStop=/opt/dklab_realplexor/dklab_realplexor.int stop
ExecReload=/opt/dklab_realplexor/dklab_realplexor.int reload
TimeoutSec=5000
[Install]
WantedBy=multi-user.target
请告诉我,在哪一方挖掘?
答案 0 :(得分:0)
您的脚本看起来像是使用了未在服务文件中定义的环境变量。 要查看列表可用的环境变量,请添加到脚本中(dklab_realplexor.int):
env | sort