20260116_142217_135
This commit is contained in:
@@ -29,7 +29,7 @@ trap 'on_exit' SIGABRT SIGSEGV SIGILL SIGTERM
|
||||
# 4. 启动服务+日志输出
|
||||
stty -echoctl # 屏蔽^C视觉印记
|
||||
echo -e "\n🚀 服务启动中,输入help查指令,输入exit优雅停机"
|
||||
java -cp "$CLASSPATH" "$MAIN_CLASS" 2> "$BASE_DIR/logs/error.log" # 异常日志写入文件
|
||||
java -cp "$CLASSPATH" "$MAIN_CLASS" -v -log:ALL &> "$BASE_DIR/logs/main.log"
|
||||
|
||||
# 5. Java退出后 强制重置终端+脚本退出,彻底无残留
|
||||
if [ $STOP_SIGNAL -eq 0 ]; then
|
||||
40
bash/start_winboll_in_termux_infolog.sh
Normal file
40
bash/start_winboll_in_termux_infolog.sh
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
# Termux专属启动脚本 编译+启动 解决exit后卡空行/需手动^C问题
|
||||
# 优化:增加JVM内存限制、进程异常捕获、日志输出
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" || { echo "目录切换失败"; exit 1; }
|
||||
BASE_DIR=$(cd .. && pwd)
|
||||
|
||||
# 1. 编译校验
|
||||
BUILD_SH="$BASE_DIR/bash/build_class.sh"
|
||||
bash "$BUILD_SH" || { echo "编译失败退出"; exit 1; }
|
||||
|
||||
# 2. 类路径配置
|
||||
CLASSPATH="$BASE_DIR/runtime"
|
||||
[ -d "$BASE_DIR/libs" ] && CLASSPATH="$CLASSPATH:$BASE_DIR/libs/*"
|
||||
MAIN_CLASS="Main"
|
||||
|
||||
# 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 -cp "$CLASSPATH" "$MAIN_CLASS" -v -log:INFO &> "$BASE_DIR/logs/main.log"
|
||||
|
||||
# 5. Java退出后 强制重置终端+脚本退出,彻底无残留
|
||||
if [ $STOP_SIGNAL -eq 0 ]; then
|
||||
echo -e "\n✅ 服务优雅停机"
|
||||
fi
|
||||
stty sane
|
||||
exit $?
|
||||
|
||||
Reference in New Issue
Block a user