-
-
Notifications
You must be signed in to change notification settings - Fork 234
Description
win系统最容易出现各种意向不到的情况,导致linker服务停止运行。可以在托盘程序上加上一个勾选框守护程序
利用win任务计划来执行,附上完整bat示例
@echo off
chcp 936 >nul
setlocal enabledelayedexpansion
echo =========================================
echo 正在创建 TongZhiService 服务守护任务计划
echo =========================================
echo.
REM ============================
REM 基本配置
REM ============================
set SERVICE_NAME=linker.service
set TASK_NAME=Watchdog_TongZhiService
set WORK_DIR=%~dp0
REM ============================
REM 生成服务守护 BAT(同目录)
REM ============================
set WATCH_BAT=%WORK_DIR%watch_%SERVICE_NAME%.bat
echo @echo off > "%WATCH_BAT%"
echo sc query "%SERVICE_NAME%" ^| findstr /i "STOPPED" ^>nul >> "%WATCH_BAT%"
echo if %%errorlevel%%==0 ( >> "%WATCH_BAT%"
echo sc start "%SERVICE_NAME%" >> "%WATCH_BAT%"
echo ) >> "%WATCH_BAT%"
echo 已生成服务检测脚本:
echo %WATCH_BAT%
echo.
REM ============================
REM 删除旧任务(如果存在)
REM ============================
schtasks /query /tn "%TASK_NAME%" >nul 2>&1
if %errorlevel%==0 (
echo 已存在旧任务,正在删除...
schtasks /delete /tn "%TASK_NAME%" /f >nul
)
REM ============================
REM 计算开始时间(1 分钟后)
REM ============================
for /f "tokens=1-2 delims=:" %%a in ("%TIME%") do (
set HH=%%a
set MM=%%b
)
set /a MM+=1
if %MM% GEQ 60 (
set MM=00
set /a HH+=1
)
if %HH% GEQ 24 set HH=00
set START_TIME=%HH%:%MM%
echo 任务计划开始时间:%START_TIME%
echo.
REM ============================
REM 创建任务计划(SYSTEM)
REM ============================
schtasks /create /f ^
/sc minute /mo 5 ^
/st %START_TIME% ^
/tn "%TASK_NAME%" ^
/tr "%WATCH_BAT%" ^
/ru SYSTEM ^
/rl HIGHEST
echo.
echo =========================================
echo 任务计划创建完成
echo 服务名:%SERVICE_NAME%
echo 任务名:%TASK_NAME%
echo 运行频率:每 5 分钟
echo 权限:SYSTEM
echo 重启后仍然有效,永不过期
echo =========================================
echo.
pause