2016-04-02 3 views
0

Ich schreibe einen Java-Code, um den aktuellen Prozess, der oben auf allen Prozess ist zu drucken.Java-Code, um derzeit offenen Prozess auf dem PC zu zeigen

Ich schreibe dies: -

String process; 
Process p = Runtime.getRuntime().exec("tasklist.exe /fo csv /nh"); 
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); 
while ((process = input.readLine()) != null) { 
    System.out.println(process); 
} 
input.close(); 

druckt alle laufenden Prozesse, aber ich möchte nur ein Prozess, der an der Spitze aller anderen Prozess ist, und das ist aktuell sichtbaren.

+0

Was meinst du mit "oben auf allen anderen Prozess"? Haben Sie [Prozessstruktur anzeigen] (http://stackoverflow.com/questions/11269165/viewing-the-process-tree-list-tasklist) betrachtet? Möglicherweise benötigen Sie/SVC als Parameter und analysieren dann die Antwort. – KevinO

+0

no.suppose Wenn ich an Powerpoint arbeite, drucke es den Powerpoint-Prozess und drucke nicht alle anderen Prozesse. Wenn ich crome öffne, wird crome gedruckt. –

+1

Was bedeutet "derzeit sichtbar"? Sichtbar für wen? Was bedeutet "oben drauf"? Konzeptionell gesehen sind Prozesse ein Baum. Da sind Eltern und Kinder. Und was bedeutet "Arbeiten am Powerpoint"? Meinst du, du hast Powerpoint von Java gestartet und möchtest die Prozess-ID finden? – KevinO

Antwort

2

Sie können ersetzen Code
while ((process = input.readLine()) != null) { System.out.println(process); }

mit diesem,

process = input.readLine(); System.out.println(process);

+1

Was ich glaube, wird immer "System Idle Process" geben. – KevinO

+0

ja es gibt immer das gleiche –

Verwandte Themen