Python脚本完成,但Windows任务计划程序显示正在运行

Python脚本完成,但Windows任务计划程序显示正在运行,python,windows,python-2.7,scheduled-tasks,Python,Windows,Python 2.7,Scheduled Tasks,我写了一个小脚本来清除传输中停止的洪流。脚本编写日志,在传输中执行其工作,然后退出。脚本如下: #Module Imports# import transmissionrpc import os import logging import sys import datetime #Set variables before main() function logdir = 'D:\\scripts\\logs' myDate = datetime.datetime.now().strftime(

我写了一个小脚本来清除传输中停止的洪流。脚本编写日志,在传输中执行其工作,然后退出。脚本如下:

#Module Imports#
import transmissionrpc
import os
import logging
import sys
import datetime

#Set variables before main() function
logdir = 'D:\\scripts\\logs'
myDate = datetime.datetime.now().strftime("%y-%m-%d")
myTime = datetime.datetime.now().strftime("%H:%M")
myDateTime = datetime.datetime.now().strftime("%y-%m-%d %H:%M")

if not os.path.exists(logdir):
    os.makedirs(logdir)

logger = logging.getLogger('transmissionrpc')
logdate = datetime.datetime.now().strftime("%y-%m-%d %H%M")
logfile = logdir + "\\CTS-" + logdate + '.log'
hdlr = logging.FileHandler(logfile)
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.INFO)
logger.info("Begin Transmission clean")

tc = transmissionrpc.Client('localhost', port = 9091, user = 'USER', password = 'PASS')
for t in tc.get_torrents():
    if t.status == 'stopped':
        tc.remove_torrent(t.id, delete_data = True)
        print ('Removing Torrent %s - %s' % (t.id, t.name))
        logger.info('Removing Torrent %s - %s' % (t.id, t.name))

logger.info("No more stopped torrents. Exiting")
sys.exit()
pythonw D:\Path\to\script.py的形式在任务计划程序中运行脚本


如何让任务计划程序正确显示脚本已结束?

在代码中添加以下行:

import os
print(os.getpid())
将打印的数字与任务计划程序中的进程ID进行比较。如果没有看到匹配项,则脚本必须在另一个进程中运行