gpt4 book ai didi

C# 防止 ctrl-c 到子进程

转载 作者:太空狗 更新时间:2023-10-30 01:05:14 25 4
gpt4 key购买 nike

我有一个控制台应用程序(我们称之为主机),它使用 System.Diagnostics.Process 管理多个应用程序。主机控制这些外部进程的启动和停止。

当向控制台发出 Ctrl+C (SIGINT) 时,主机应该安全地终止其他进程。问题在于其他进程也收到 Ctrl+C 并在主机能够安全关闭它们之前立即终止。

我知道 Ctrl+C 被发送到控制台进程树中的每个进程。如果主机仍在运行,我该怎么做才能防止 Ctrl+C 到达这些其他进程?我没有参与其他进程的开发,所以不能直接改变他们对 Ctrl+C 的处理。谢谢

最佳答案

Apparently 您可以设置 Console.TreatCtrlCAsInput = true 这将允许您处理击键、停止其他进程,然后自行退出。根据 MSDN docs ,此属性...

Gets or sets a value indicating whether the combination of the Control modifier key and C console key (Ctrl+C) is treated as ordinary input or as an interruption that is handled by the operating system.

关于C# 防止 ctrl-c 到子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19728495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com