Update startup.sh

更新根据pid文件来识别后台进程是否处于运行状态,避免同时启动多个后台进程。
pull/35/head
sanxiHsu 3 years ago committed by GitHub
parent 82c7b59650
commit dc9df5d760
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,10 +1,33 @@
#!/bin/bash
DIR_HOME=("/opt/openoffice.org3" "/opt/libreoffice" "/opt/libreoffice6.0" "/opt/libreoffice6.1" "/opt/libreoffice6.2" "/opt/libreoffice6.3" "/opt/libreoffice6.4" "/opt/libreoffice7.0" "/opt/libreoffice7.1" "/opt/libreoffice7.2" "/opt/openoffice4" "/usr/lib/openoffice" "/usr/lib/libreoffice" "/usr/lib64/libreoffice")
#
#
#############################
# First_Author:
# Second_Author: sanxi
# Version: 1.1
# Date: 2021/09/17
# Description: v1.1pid
#############################
#
DIR_HOME=("/opt/openoffice.org3" "/opt/libreoffice" "/opt/libreoffice6.1" "/opt/libreoffice7.0" "/opt/libreoffice7.1" "/opt/openoffice4" "/usr/lib/openoffice" "/usr/lib/libreoffice")
FLAG=
OFFICE_HOME=
KKFILEVIEW_BIN_FOLDER=$(cd "$(dirname "$0")";pwd)
KKFILEVIEW_BIN_FOLDER=$(cd "$(dirname "$0")" || exit 1 ;pwd)
PID_FILE_NAME="kkFileView.pid"
PID_FILE="${KKFILEVIEW_BIN_FOLDER}/${PID_FILE_NAME}"
export KKFILEVIEW_BIN_FOLDER=$KKFILEVIEW_BIN_FOLDER
cd $KKFILEVIEW_BIN_FOLDER
#
## pid
if [ ! -f ${PID_FILE_NAME} ]; then
touch "${KKFILEVIEW_BIN_FOLDER}/${PID_FILE_NAME}"
fi
##
if [ -s "${PID_FILE}" ]; then
PID=$(cat "${PID_FILE}")
echo "进程已处于运行状态,进程号为:${PID}"
exit 1
else
cd "$KKFILEVIEW_BIN_FOLDER" || exit 1
echo "Using KKFILEVIEW_BIN_FOLDER $KKFILEVIEW_BIN_FOLDER"
grep 'office\.home' ../config/application.properties | grep '!^#'
if [ $? -eq 0 ]; then
@ -12,7 +35,7 @@ if [ $? -eq 0 ]; then
else
for i in ${DIR_HOME[@]}
do
if [ -f $i"/program/soffice.bin" ]; then
if [ -f "$i/program/soffice.bin" ]; then
FLAG=true
OFFICE_HOME=${i}
break
@ -25,8 +48,14 @@ else
echo "Detected office component has been installed in $OFFICE_HOME"
fi
fi
## kkFileView
echo "Starting kkFileView..."
nohup java -Dfile.encoding=UTF-8 -Dspring.config.location=../config/application.properties -jar kkFileView-4.0.0.jar > ../log/kkFileView.log 2>&1 &
echo "Please execute ./showlog.sh to check log for more information"
echo "You can get help in our official homesite: https://kkFileView.keking.cn"
echo "If this project is helpful to you, please star it on https://gitee.com/kekingcn/file-online-preview/stargazers"
nohup java -Dfile.encoding=UTF-8 -Dspring.config.location=../config/application.properties -jar kkFileView-4.0.0.jar > ../log/kkFileView.log 2>&1 &
PROCESS=$(ps -ef | grep kkFileView | awk 'NR==1{print $2}')
# pid
echo "$PROCESS" > "$PID_FILE"
fi

Loading…
Cancel
Save