我可以将 CTRL-BREAK 和/或 CTRL-C 发送到 Windows 中正在运行的进程吗?

Mut*_*sky 6 windows command-line-interface

我有一个将运行很长时间的 Windows 控制台应用程序。这是内部开发的,测试表明,随着时间的推移,内存使用量会增加,其他不好的事情也会随之而来。开发人员无法及时纠正所有问题以供发布,因此我正在寻找一种方法来定期结束和重新启动该过程。我已经有一个运行批处理文件的 Windows 计划任务,检查进程是否正在运行,如果没有,则启动它。

现在我需要一些可以优雅地阻止它的东西。应用程序已征用 CTRL-BREAK 事件作为受控关闭的请求。我想向它发送 CTRL-BREAK,如果一段时间后它仍然没有结束,那么我可以使用 taskkill 强行结束它。taskkill 似乎给它一个 CTRL-CLOSE 事件。有没有办法从命令行将 CTRL-BREAK 提供给进程?

Bar*_*rim 2

我不知道中断事件是否被视为应用程序的正常关闭。

也就是说,在 sysinternals 下搜索来自 Microsoft 的免费 ps 实用程序。有一个 pskill 命令可用于终止应用程序,我相信 pslist 可以获取进程 ID。解析它并向它发送终止信号,看看这是否适合你。