# -*- coding: utf-8 -*- """check_task_running.py — schtask 是否在跑(exit 0=在跑, 1=已退出/查无)。 运维探针(watcher/cron 轮询用)。中文输出「正在运行」不含子串「运行中」——三词都认 (2026-08-20 假阳性实锤: 两词判定曾致 bs_eod 挂死被误判已退出)。""" import subprocess import sys task = sys.argv[1] if len(sys.argv) > 1 else 'sanguo-bs-daily' out = subprocess.run(['schtasks', '/query', '/tn', task, '/fo', 'LIST'], capture_output=True, timeout=30).stdout.decode('gbk', 'ignore') running = any(w in out for w in ('Running', '运行中', '正在运行')) print('%s: %s' % (task, 'RUNNING' if running else 'DONE/NOT-FOUND')) sys.exit(0 if running else 1)