SUSE服务状态为活动(已退出),而不是活动(正在运行)



我有一个服务csiJetty.service,单元文件是自动生成的,但我使用了命令"systemctl edit——完整csiJetty.service";使其成为systemd单元文件,而不是sysV单元文件。

但我总是得到服务状态为";激活(退出(";,无法获得状态";活动(运行(";

我把我的单元文件放在下面,有人知道为什么服务状态总是活动(退出(而不是活动(运行(吗?


[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/csiJetty
Description=LSB: Jetty  WebServer for security components, csi, eat, pnf
[Service]
Type=exec
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
SuccessExitStatus=5 6
ExecStart=/etc/init.d/csiJetty start
ExecStop=/etc/init.d/csiJetty stop

csiJetty文件中的start_function是:

start_function() {
echo "111111111111111111111   start"
echo -n "Starting $JETTY_SERV_NAME: "
cd ${csi_HOME}
csi_SERVER_PID=`get_csiadminserver_pid`
if [ ${csi_SERVER_PID} ]
then
echo "${JETTY_SERV_NAME} is already running"
return 1
fi
su - ${GEHC_SECURITY_USER} -s /bin/bash -c "cd ${csi_HOME};./jetty/WebAdmin.sh >& ${csi_HOME}/jetty/logs/csiAdminSrvOut &"
sleep 1
csi_SERVER_PID=`get_csiadminserver_pid`
if [ ${csi_SERVER_PID} ]
then
echo ${csi_SERVER_PID} > ${PID_FILE}
fi

return 0
}

实际上,这是因为在csiJetty.service文件中添加pidfile定义后,服务没有pidfile

PIDFile=/run/csijetty.pid

然后系统将监视此pid文件的内容,并获取正在运行的状态,而不是退出。

相关内容

  • 没有找到相关文章

最新更新