14 lines
738 B
Python
14 lines
738 B
Python
# -*- 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)
|