2010-10-01 17 views
7

Uygulamamda zamanla biriken bu process_reaper iş parçacıklarından yüzlerce alıyorum. Bunun ne olabileceği hakkında bir fikri olan var mı? Onlar ancak bir nihayet açıklamada benim sürecini mahvediyorum) Runtime.exec (benim kullanımında görünmektedir ama yineJava'da bir process_reaper iş parçacığı nedir?

ekran görüntüsünü göstermek: Ben görmedim http://www.dropmocks.com/mBxM5

Process proc = null; 
     String line; 
     try { 
      logger.info("Trying to execute command " + Arrays.asList(command).toString().replace(",", "")); 
      proc = Runtime.getRuntime().exec(command); 

     } catch (IOException e) { 
      logger.info("IOException while trying to execute " + command); 
      return false; 
     } finally { 
      if(proc != null) { 
       proc.destroy(); 
      } 
    } 

cevap

6

Bu kendimi biraz aradım; Bir süreç reaper'in Linux çekirdek süreç yönetimi ile ilgili olduğu ve bir daemon iş parçacığı olduğu görülmektedir. Süreç durumunu koruyarak kaynakların süreç sonlandırmasında vb. This kaynağı size yardımcı olabilir. Son bölümlerde biçme makinelerinde bahsetmek gerekir.

+1

sayesinde önce process.waitFor() çağırmalıdır? – James

+0

Ekran görüntüsünüzden, atılacaklar gibi görünüyor. Her neyse, Runtime.exec() kullanarak ayrı bir süreç oluşturduğunuz için bunlar gereklidir. Onları kendim göremediğimden onlardan nasıl kurtulacağımı çok emin değilim :-) –

+0

AH! Teşekkürler Sagar, beni uçurdu, görsel VM'yi kapatıp yeniden başlattım ve iş parçacıkları gitmişti, bu yüzden evet temizleniyorlar. teşekkürler :) – James

0

nasıl onlardan kurtulmak için, şimdi bir fikrin okuma exec ve Destory (asy eylem) bağlantıdan

İlgili konular