“优雅地”杀死一个进程

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

如果进程有一个Windows界面(当你引用红色的“X”时),你可以尝试Process.CloseMainWindow() 。 如果失败,您可以回Process.Kill()

杀戮不能优雅,也许你可以发出自杀过程的信号。 对于信号,您有很多选择。

  • 发信息
  • 了NamedPipes
  • 名为Mutex
  • 套接字

这取决于你要杀的过程。 正如Process.Kill的相关页面所述,“Kill是终止没有图形界面的进程的唯一方法。” 如果有图形窗口,则按上面的lc回答; Process.CloseMainWindowfunction与您引用的红色X相同。