Stack2Heap:
DOES SIGARまたはOSHIまたは他の同様のAPIは、OSのプロセス情報を引き出すために、最も重要なのは、一般的な機能を箱から出して提供して?
私の要件は、PIDが、特定のプログラムのすべてのOSのプロセス、例えばクロムの他のいくつかの詳細を取得することです。
下記のとおり、私は私の独自の実装を書いたが、私は以下のようにUnixの、Mac用の少し異なる方法で、Solarisのなどを考え出す必要がありますWindowsに固有のものです。SGIAR / OSHIにおける任意のOOTB方法があるかどうかだけで、一般的なものを維持するために、私は疑問に思って。
public static List<String> getNodeDetailsFromWinOs(){
List<String> nodeList = new ArrayList<String>();
String process;
Process p = Runtime.getRuntime().exec("tasklist.exe /nh");
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((process = input.readLine()) != null)
{
nodeList.add(process.substring(10, process.indexOf(".")));
}
input.close();
return nodeList;
}
ダニエルWiddis:
OSHIのOSProcess
クラスは、Windows、MacOSの、Linuxの、Solaris、およびFreeBSDのため、箱から出して、この機能を提供します。
SystemInfo si = new SystemInfo();
OperatingSystem os = si.getOperatingSystem();
OSProcess[] procs = os.getProcesses(0, null);
for (OSProcess p : procs) {
if (p.getName().contains("Chrome")) {
// do stuff with p
}
}
あなたも見つけることp.getParentProcessPid()
とos.getChildProcesses(pid)
、親クロームプロセスに関連付けられている(名称「クローム」は含まない)他のプロセスを識別するのに便利な方法を。