27

现在我正在使用 Process.Kill() 来杀死一个进程。有没有一种方法,而不是立即杀死它,我可以向进程发送一条消息,指示它关闭,以便它可以优雅地清理和关闭。基本上,我正在寻找与单击右上角的红色 X 等效的方法,我相信它确实会向应用程序发送一条请求关闭的消息。

4

3 回答 3

38

如果进程有windows界面(如你所指的红色“X”),你可以试试Process.CloseMainWindow(). 如果失败,您可以回退到Process.Kill().

于 2010-08-05T05:32:06.457 回答
5

杀戮不能优雅,或许可以发信号自杀。对于信号,您有很多选择。

  • 发信息
  • 命名管道
  • 命名互斥体
  • 插座
于 2010-08-05T05:42:03.733 回答
3

这取决于您要杀死的进程。正如相关页面上所述Process.Kill,“Kill 是终止没有图形界面的进程的唯一方法。” 如果有图形窗口,则按照上面 lc 的答案进行;Process.CloseMainWindow功能与您提到的红色 X 相同。

于 2010-08-05T05:41:21.693 回答