mirror of
https://github.com/wnlen/clash-for-linux.git
synced 2026-10-10 20:23:04 +08:00
54 lines
1.1 KiB
Bash
54 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
# 关闭clash服务
|
|
Server_Dir=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
|
|
Temp_Dir="$Server_Dir/temp"
|
|
PID_FILE="$Temp_Dir/clash.pid"
|
|
if [ -f "$PID_FILE" ]; then
|
|
PID=$(cat "$PID_FILE")
|
|
if [ -n "$PID" ]; then
|
|
kill "$PID"
|
|
for i in {1..5}; do
|
|
sleep 1
|
|
if ! kill -0 "$PID" 2>/dev/null; then
|
|
break
|
|
fi
|
|
done
|
|
if kill -0 "$PID" 2>/dev/null; then
|
|
kill -9 "$PID"
|
|
fi
|
|
fi
|
|
rm -f "$PID_FILE"
|
|
else
|
|
PIDS=$(pgrep -f "clash-linux-")
|
|
if [ -n "$PIDS" ]; then
|
|
kill $PIDS
|
|
for i in {1..5}; do
|
|
sleep 1
|
|
if ! pgrep -f "clash-linux-" >/dev/null; then
|
|
break
|
|
fi
|
|
done
|
|
if pgrep -f "clash-linux-" >/dev/null; then
|
|
kill -9 $PIDS
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# 清除环境变量
|
|
Env_File="${CLASH_ENV_FILE:-}"
|
|
if [ "$Env_File" != "off" ] && [ "$Env_File" != "disabled" ]; then
|
|
if [ -z "$Env_File" ]; then
|
|
if [ -w /etc/profile.d ]; then
|
|
Env_File="/etc/profile.d/clash-for-linux.sh"
|
|
else
|
|
Env_File="$Temp_Dir/clash-for-linux.sh"
|
|
fi
|
|
fi
|
|
if [ -f "$Env_File" ]; then
|
|
> "$Env_File"
|
|
fi
|
|
fi
|
|
|
|
echo -e "\n服务关闭成功,请执行以下命令关闭系统代理:proxy_off\n"
|