ShellCrash/scripts/clashservice

47 lines
1.1 KiB
Plaintext
Raw Normal View History

2020-08-03 15:16:33 +08:00
#!/bin/sh /etc/rc.common
START=99
2020-08-03 15:16:33 +08:00
SERVICE_DAEMONIZE=1
SERVICE_WRITE_PID=1
USE_PROCD=1
#获取目录
DIR=$(cat /etc/profile | grep clashdir | awk -F "\"" '{print $2}')
[ -z "$DIR" ] && DIR=$(cat ~/.bashrc | grep clashdir | awk -F "\"" '{print $2}')
BINDIR=$(cat $DIR/configs/ShellClash.cfg | grep bindir | awk -F "=" '{print $2}')
[ -z "$BINDIR" ] && BINDIR=$DIR
TMPDIR=/tmp/clash_$USER
2020-08-03 15:16:33 +08:00
start_service() {
#检测必须文件
$DIR/start.sh bfstart
2022-01-21 17:14:31 +08:00
if [ "$?" = "0" ];then
#使用procd创建clash后台进程
procd_open_instance
procd_set_param respawn
2022-01-27 13:12:28 +08:00
procd_set_param stderr 0
procd_set_param stdout 0
procd_set_param command $BINDIR/clash -d $BINDIR -f $TMPDIR/config.yaml
2022-01-21 17:14:31 +08:00
procd_close_instance
#其他设置
$DIR/start.sh afstart
fi
2020-08-03 15:16:33 +08:00
}
start() {
if [ -z "$(pidof procd)" ];then
#检测必须文件
$DIR/start.sh bfstart
2022-01-21 17:14:31 +08:00
if [ "$?" = "0" ];then
#创建后台进程
service_start $BINDIR/clash -d $BINDIR -f $TMPDIR/config.yaml
2022-01-21 17:14:31 +08:00
#其他设置
$DIR/start.sh afstart
#设置守护进程
$DIR/start.sh daemon
2022-01-21 17:14:31 +08:00
fi
else
start_service
fi
2022-01-21 17:14:31 +08:00
}