草庐IT

GenerateConsoleCtrlEvent

全部标签

windows - 在 Windows 上运行任意子进程并仍然干净地终止?

我有一个应用程序A,我希望它能够调用用户在配置文件中指定的任意其他进程。批处理脚本B就是这样一个进程,用户希望A调用它。B设置一些环境变量,显示一些消息并调用编译器C来完成一些工作。Windows是否为任意进程的干净终止提供了标准方法?假设A在控制台中运行并收到CTRL+C。它可以将此传递给B和C吗?假设A在一个窗口中运行,用户试图关闭窗口,是否可以取消B和C?TerminateProcess是一个选项,但不是一个很好的选项。如果A在B上使用TerminateProcess,C会继续运行。如果C长时间运行,这可能会导致严重的问题,因为我们可能会启动另一个C实例来操作相同的文件,而C的第