subconverter: rewrite init with upstream feedback

This commit is contained in:
CN_SZTL 2020-08-26 00:59:19 +08:00
parent b4ab047904
commit fff26d72d3
No known key found for this signature in database
GPG Key ID: 6850B6345C862176

View File

@ -3,50 +3,30 @@
START=99
USE_PROCD=1
BIN=/etc/subconverter/subconverter
PID=""
getPid(){
ps | grep subconverter > /tmp/_subconverter_pid
sed -i '/grep/d' /tmp/_subconverter_pid
sed -i '/bin\/sh/d' /tmp/_subconverter_pid
sed -i "s/^[ \s]\{1,\}//g;s/[ \s]\{1,\}$//g" /tmp/_subconverter_pid
local pid=$(cat /tmp/_subconverter_pid| cut -d ' ' -f1)
PID=$pid
#echo PID is $pid === $PID
rm -rf /tmp/_subconverter_pid
}
BIN="/usr/bin/subconverter"
CONF="/etc/subconverter/pref.ini"
LOG_FILE="/tmp/subconverter.log"
start_service() {
getPid
local pid=$PID
if [ ! -z "$pid" ]; then
echo "Subconverter has already run, PID is "$pid
return 0
fi
[ ! -e /etc/subconverter/subconverter ] && cp /usr/bin/subconverter /etc/subconverter/subconverter
procd_open_instance
procd_set_param command $BIN
procd_set_param respawn
procd_set_param command "$BIN"
procd_append_param command -f "$CONF"
procd_append_param command -l "$LOG_FILE"
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
procd_set_param limits core="unlimited"
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
echo Subconverter started.
logger -t Subconverter 'Starting Subconverter service'
}
stop_service() {
getPid
local pid=$PID
if [ ! -z "$pid" ]; then
echo Found subconverter process, which PID is $pid
kill $pid
echo Subconverter process has been terminated.
else
echo No subconverter process found.
return 0
fi
rm -f "$LOG_FILE"
logger -t Subconverter 'Shutting down Subconverter service'
}
reload_service() {
logger -t Subconverter 'Restarting Subconverter service'
stop
start
}