首页 新闻 会员 周边 捐助

同程序,不同运行参数,多进程,如何根据运行参数kill进程?

0
[已解决问题] 解决于 2015-01-07 14:54

程序是同一个,传不同的参数运行了多个,例如程序叫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下一条命令就能搞定的事,服了

tailss的主页 tailss | 初学一级 | 园豆:175
提问于:2014-12-29 16:41
< >
分享
最佳答案
0

命令行 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"]);
}
tailss | 初学一级 |园豆:175 | 2015-01-07 14:53
其他回答(3)
0

taskkill /FI "A 103" /F

2012 | 园豆:21445 (高人七级) | 2014-12-30 09:09
0

1. 用勾子做,调系统API。 

2. 你kill的程序在title里加上你的参数,然后获取判断。 

问天何必 | 园豆:3311 (老鸟四级) | 2014-12-30 09:15
0
Launcher | 园豆:45050 (高人七级) | 2014-12-30 09:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册