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();
私が望むのは、プロセスの配列を調べて、別のプログラムで開始したプロセスオブジェクトと同じ引数を持っているものを確認することです。しかし問題は、私がこのようにしたときです:
Console.WriteLine(proc.StartInfo.Arguments);
私はそれが別のプログラムで開始したプロセスであることを知っていても、そこには何もないことがわかりました。これは私を大いに混乱させました。
誰もこの問題を知っていますか?