我正在尝试使用 C# 获取 java Process 对象。问题是我的计算机上运行了几个 java 进程。
以下是我选择获取流程的方式:
Process[] processes = Process.GetProcessesByName("java");
foreach(Process proc in processes){
//I need a filter here to get the correct process.
}
Java 进程也由我的 C# 程序控制,如下所示:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = javahome + "\\bin\\java.exe";
startInfo.Arguments = "-jar Example.jar port=88888";
startInfo.WorkingDirectory = "\\testFolder";
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
Process proc = new Process();
proc.StartInfo = startInfo;
proc.Start();
我想要的是通过 Process 数组来检查哪个与我在另一个程序中启动的 Process 对象具有相同的参数。但问题是当我这样做时:
Console.WriteLine(proc.StartInfo.Arguments);
我发现里面什么都没有,即使我知道这是我在另一个程序中启动的过程。这让我很困惑。
有谁知道这个问题?