首页 > 解决方案 > EXE的重定向输出由任务调度程序启动,具有正确关闭的能力,当“运行是否登录用户”选项。

问题描述

我需要:

  1. 通过任务计划程序PROGRAM.EXE在 Windows 中运行,带有选项“无论用户是否登录都运行
  2. 通过将 EXE 的输出重定向到文本文件>>
  3. 能够正确关闭 EXE(软终止)而不强制终止进程(硬终止,如 a taskkill /F)。最好是通过任务计划程序中的“结束”菜单项。

我试过这个:

(在 WindowsServer 2008 R2 和 Windows 7 Professional 中测试)

实验 1(在任务计划程序中)

程序/脚本:PROGRAM.EXE

添加参数:arg1 arg2 >> C:\PATH\OUTPUT.LOG 2>&1

开始于:C:\PATH\

结果:

否 - 不输出。

是的 - 根据需要通过“结束”菜单关闭(软杀)。


实验二

程序/脚本:CMD

添加参数:/C PUSHD C:\PATH && PROGRAM.EXE arg1 arg2 >> OUTPUT.LOG 2>&1

结果:

是 - 输出正常。

否 - “结束”菜单仅关闭 CMD.EXE,而不是 PROGRAM.EXE


在上述两种情况下,我都尝试了选中“以最高权限运行”选项。

实验三

CMD> taskkill /T /PID 17640 (ProcessID of the CMD)

结果:错误:无法终止 PID 9172 的进程(PID 17640 的子进程)。原因:这个进程只能被强制终止(使用 /F 选项)。错误:无法终止 PID 17640 的进程(PID 13380 的子进程)。原因:该进程的一个或多个子进程仍在运行。

仅当“仅在登录用户登录时运行”选项(两个过程都正确关闭)才能进行此工作。


该怎么办?

谢谢。

标签: windowsredirectcmdexescheduler

解决方案


推荐阅读