我有一个将运行很长时间的 Windows 控制台应用程序。这是内部开发的,测试表明,随着时间的推移,内存使用量会增加,其他不好的事情也会随之而来。开发人员无法及时纠正所有问题以供发布,因此我正在寻找一种方法来定期结束和重新启动该过程。我已经有一个运行批处理文件的 Windows 计划任务,检查进程是否正在运行,如果没有,则启动它。
现在我需要一些可以优雅地阻止它的东西。应用程序已征用 CTRL-BREAK 事件作为受控关闭的请求。我想向它发送 CTRL-BREAK,如果一段时间后它仍然没有结束,那么我可以使用 taskkill 强行结束它。taskkill 似乎给它一个 CTRL-CLOSE 事件。有没有办法从命令行将 CTRL-BREAK 提供给进程?