2010-10-01 35 views
7

Tôi đang nhận được hàng trăm chủ đề process_reaper này xây dựng theo thời gian trong ứng dụng của tôi. Bất cứ ai có bất kỳ ý tưởng những gì có thể được? Họ dường như được sử dụng của tôi Runtime.exec() tuy nhiên tôi đang phá hủy quá trình của tôi trong một tuyên bố cuối cùng nhưng họ vẫn xuất hiệnChuỗi process_reaper trong Java là gì?

ảnh chụp màn hình: 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(); 
      } 
    } 

Trả lời

6

Tôi chưa thấy bản thân tôi nên tôi đã tìm kiếm một chút; có vẻ như một quy trình reaper có liên quan đến quản lý quy trình hạt nhân Linux và là một chuỗi daemon. Nó duy trì trạng thái quy trình để các tài nguyên có thể được giải phóng/giải phóng/thu thập khi chấm dứt quá trình và vân vân. This tài nguyên có thể giúp bạn. Có một đề cập đến trên gặt hái trong phần cuối cùng.

+1

nhờ các liên kết, đọc bây giờ, bất kỳ ý tưởng làm thế nào để thoát khỏi họ? – James

+0

Từ màn hình của bạn-shot có vẻ như họ đang được xử lý tắt. Dù sao chúng được yêu cầu vì bạn đang sinh ra một quá trình riêng biệt bằng cách sử dụng Runtime.exec(). Tôi không chắc chắn làm thế nào để thoát khỏi chúng vì tôi đã không nhìn thấy chúng bản thân mình :-) –

+0

AH! cảm ơn Sagar, mà nghiêng tôi ra, tôi đóng cửa và khởi động lại máy ảo hình ảnh và các chủ đề đã biến mất, vì vậy có họ đang được làm sạch. cảm ơn :) – James

0

bạn phải gọi process.waitFor() sau khi exec và trước khi phá tan (hành động asy)