修复验证码发送递归重复问题

This commit is contained in:
2026-01-16 13:05:59 +08:00
parent 9863e77512
commit 47fce9bc19
9 changed files with 131 additions and 76995 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
#!/bin/bash
# Termux专属启动脚本 编译+启动 解决exit后卡空行/需手动^C问题
# 优化增加JVM内存限制、进程异常捕获、日志输出
cd "$(dirname "${BASH_SOURCE[0]}")" || { echo "目录切换失败"; exit 1; }
BASE_DIR=$(cd .. && pwd)
@@ -12,12 +13,28 @@ CLASSPATH="$BASE_DIR/runtime"
[ -d "$BASE_DIR/libs" ] && CLASSPATH="$CLASSPATH:$BASE_DIR/libs/*"
MAIN_CLASS="Main"
# 3. 关键修复:预重置终端+进程绑定+退出后强制清流
# 3. 关键优化JVM内存限制避免内存耗尽+ 异常日志输出
export _JAVA_OPTIONS="-Xmx128m -Xms64m" # 限制最大堆内存128M初始堆64M适配Termux
STOP_SIGNAL=0
# 捕获进程异常终止信号
on_exit() {
STOP_SIGNAL=1
echo -e "\n⚠ 服务异常终止,可查看日志排查问题"
stty sane
exit 1
}
trap 'on_exit' SIGABRT SIGSEGV SIGILL SIGTERM
# 4. 启动服务+日志输出
stty -echoctl # 屏蔽^C视觉印记
echo -e "\n🚀 服务启动中输入help查指令输入exit优雅停机"
# 启动并绑定进程Java结束脚本立刻走后续逻辑
java -cp "$CLASSPATH" "$MAIN_CLASS"
# Java退出后 强制重置终端+脚本退出,彻底无残留
java -cp "$CLASSPATH" "$MAIN_CLASS" 2> "$BASE_DIR/logs/error.log" # 异常日志写入文件
# 5. Java退出后 强制重置终端+脚本退出,彻底无残留
if [ $STOP_SIGNAL -eq 0 ]; then
echo -e "\n✅ 服务优雅停机"
fi
stty sane
exit $?