2016-04-02 26 views
0

Tüm sürecin en üstünde yer alan mevcut işlemi yazdırmak için bir java kodu yazıyorum.java kodu PC

ben bunu yazmak: -

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(); 

o çalışan tüm işlemleri yazdırır ama diğer tüm sürecin üstünde olan tek sürecini istiyor ve bu anda görünür olduğunu.

+0

? [İşlem Ağacını Görüntüleme] 'ye baktınız mı (http://stackoverflow.com/questions/11269165/viewing-the-process-tree-tlist-tasklist)? Parametre olarak/SVC'ye ihtiyacınız olabilir ve ardından cevabı ayrıştırmak için. – KevinO

+0

no.suppose eğer powerpoint üzerinde çalışıyorsam, o zaman powerpoint işlemini basar ve diğer tüm işlemleri yazdırmaz. Eğer crome açarsam, o zaman crome basar. –

+1

"Şu anda görünür" ne anlama geliyor? Kime görünür? "Üstte" nin anlamı nedir? Kavramsal olarak süreçler bir ağaçtır. Ebeveynler ve çocuklar var. Ve "powerpoint üzerinde çalışmak" ne anlama geliyor? Java'dan powerpoint'i başlattığını ve işlem kimliğini bulmak istediğinizi mi kastediyorsunuz? – KevinO

cevap

2

Kodun bununla
while ((process = input.readLine()) != null) { System.out.println(process); }

yerini alabilir, "Tüm diğer sürecinin üstünde" ne demek

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

+1

Hangi "Sistem Boşta İşlem" her zaman inanıyorum inanıyorum. – KevinO

+0

evet her zaman aynı şeyi verir –