代码之家  ›  专栏  ›  技术社区  ›  Karol Kolenda

在.Net中列出和终止进程

  •  3
  • Karol Kolenda  · 技术社区  · 17 年前

    如何列出和终止.Net应用程序中的现有进程?目标应用程序是1).Net应用程序,2)它们是同一可执行文件的实例3)它们有唯一的ID,但我不知道如何从它们那里获取此信息,4)它们是从外部生成的(即,我没有句柄,因为我没有创建它们)。

    我想列出所有进程,从它们那里获得唯一的ID,然后重新启动其中一些进程。我认为他们都是有反应的。

    3 回复  |  直到 17 年前
        1
  •  2
  •   Mehrdad Afshari    17 年前

    您可以使用获取正在运行的进程的列表 Process.GetProcesses 静态方法。您可以轻松地查询返回值(可能使用LINQ)以获得所需的返回值。

    System.Diagnostics.Process.GetProcesses()
    
        2
  •  2
  •   grenade    17 年前
    Process.Kill();
    

    检查此项以终止进程: http://www.dreamincode.net/code/snippet1543.htm

    进程Id是进程的一个属性。如:

    Process.Id
    

    此处列出了流程中可用的所有方法: http://msdn.microsoft.com/en-us/library/system.diagnostics.process_methods.aspx

        3
  •  1
  •   Community Mohan Dere    9 年前

    我想把你介绍给我 this question this tutorial . 您可以使用WCF查询进程,并请求关闭。每个进程都需要自己的命名管道。您可以在启动时根据进程ID生成唯一的名称( Process.GetCurrentProcess().Id ).

    不过,对于一些简单的交流来说,这一切可能有点沉重。也可以选择使用Windows消息队列。你可以用 process.MainWindowHandle Messages and Message queues . 如果你选择走那条路, pinvoke 可能会有帮助。