windows - EXE的重定向输出由任务调度程序启动,具有正确关闭的能力,当“运行是否登录用户”选项。
问题描述
我需要:
- 通过任务计划程序
PROGRAM.EXE
在 Windows 中运行,带有选项“无论用户是否登录都运行” - 通过将 EXE 的输出重定向到文本文件
>>
- 能够正确关闭 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 的子进程)。原因:该进程的一个或多个子进程仍在运行。
仅当“仅在登录用户登录时运行”选项(两个过程都正确关闭)才能进行此工作。
该怎么办?
谢谢。
解决方案
推荐阅读
- .net-standard - AppVeyor 的 .NET Core .csproj 补丁没有任何影响
- r - 使用切片和组的 Dplyr 解决方案
- c# - 关于设置选秀/跳棋游戏的建议
- mysql - 在mysql中使用group by查找最小列值
- c# - C# 复杂树 - 组件数据结构
- apache-nifi - 从流文件内容中提取多行内容
- python - 多处理比 Windows 中的串行处理慢(但在 Linux 中不是)
- javascript - 如何通过异步函数设置反应父组件状态,然后将此状态作为道具传递给子组件?
- javascript - 更改图像 attr src 不适用于 safari?
- node.js - Ramda 在 Mongoose 查询回调中不起作用