2012-03-14 21 views
1

你好我試圖讓Linux上運行的服務,我想使用這個代碼的結果,如何使用服務--status-all | grep在java代碼中運行得到resullt我的代碼不給結果?

public void runningservices() 
{ 

    try { 
     String line; 
     char c = '|'; 
     Process p = Runtime.getRuntime().exec("service --status-all "+c+" grep running"); 
     BufferedReader input = 
       new BufferedReader(new InputStreamReader(p.getInputStream())); 
     while ((line = input.readLine()) != null) 
     { 
String[] split = line.trim().split(" "); 
      System.out.println(line); 
     } 
     input.close(); 
    } catch (Exception err) { 
     err.printStackTrace(); 
    } 

} 

我想這代碼,但輸出是空的沒有錯誤如何讓這段代碼運行?這個命令在linux終端上運行,並給出結果

希望你的建議在此先感謝!

回答

0

至於我的信息,服務--status,都必須在root權限運行 嘗試使用

Process p = Runtime.getRuntime().exec("service --status-all "+c+" grep running"); 

* 注意,用戶必須從sudoers文件 *

希望這會幫助

+0

因爲我使用此代碼,但沒有得到結果,「用戶必須是sudoers」我沒有承擔這個事情?我正在使用RHEL 5 – 2012-03-14 05:19:38

+0

Sudoers是可以運行root命令而無需以超級用戶身份登錄的用戶,只需鍵入「sudo command -comand-params」http://linux.die.net/man/8/sudo – 2012-03-14 05:23:35

相關問題