首页 > 解决方案 > 有没有办法从另一个进程“GetCommandLineArgs”?

问题描述

我只是想用不同的参数启动和终止同一个程序的多个实例。启动不是问题,但我怎样才能终止具有特定参数的进程?

static void Start(string args)
{
    var process = new Process
    {
        StartInfo = { FileName = "FileName", Arguments = args }
    };
    process.Start();
}

这是我用 args 启动 procs 的方法。

我试图以某种方式保留它,但我没有成功。我已经在 Google 上搜索了过去一小时,但没有得到任何有用的结果。

标签: c#processargumentskill

解决方案


使用 aDictionary<string, Process>存储进程和参数:

static Dictionary<string, Process> processes = new Dictionary<string, Process>();

static void StartProcess(string args)
{
    var process = new Process
    {
        StartInfo = { FileName = "FileName", Arguments = args }
    };
    process.Start();
    processes.Add(args, process);
}

static void StopProcess(string args)
{
    var process = processes[args];
    process.Kill();
    process.Dispose();
    processes.Remove(args);
}

推荐阅读