当前位置: 代码迷 >> C# >> 同程序,不同运行参数,多进程,怎么根据运行参数kill进程
  详细解决方案

同程序,不同运行参数,多进程,怎么根据运行参数kill进程

热度:423   发布时间:2016-05-05 05:23:28.0
同程序,不同运行参数,多进程,如何根据运行参数kill进程?
程序是同一个,传不同的参数运行了多个,例如程序叫A:
A 101
A 102
A 103
这样启动了3个进程,我想kill掉参数=103的如何处理?
tasklist命令看不到参数,wmic process get caption,commandline能看到参数看不到进程号,
Process[] p = Process.GetProcessesByName("A");
p[0].StartInfo.Arguments居然是空的
这在unix下一条命令就能搞定的事,服了
------解决思路----------------------
命令行 wmic process get processid,caption,commandline 就能看到pid了。同样的c#使用wmi也可以(需要添加对System.Management的引用),例如:

var query = "SELECT ProcessId, Caption, CommandLine FROM Win32_Process";
var searcher = new ManagementObjectSearcher(query);
foreach (ManagementObject mo in searcher.Get())
{
    Console.WriteLine("PID={0}, Caption={1}, CommandLine={2}", mo["ProcessId"], mo["Caption"], mo["CommandLine"]);
}
  相关解决方案