2014-04-08 64 views
-3

我有代碼檢查Windows服務的狀態,如:檢查狀態的過程,可以在UNIX,Linux服務與Java

Runtime r = Runtime.getRuntime(); 
      Process p = r.exec("net use \\\\"+server+"\\ipc$ /user:"+domain+"\\"+user+" "+password); 
      p = Runtime.getRuntime().exec("sc query "+service); 
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); 
      String line = reader.readLine(); 
      while (line != null) { 
       if (line.trim().startsWith("STATE")) 
       { 
        if (line.trim().substring(line.trim().indexOf(":") + 1,line.trim().indexOf(":") + 4).trim().equals("1")) 
         System.out.println("Stopped"); 
        else if (line.trim().substring(line.trim().indexOf(":") + 1,line.trim().indexOf(":") + 4).trim().equals("2")) 
         System.out.println("Startting...."); 
        else if (line.trim().substring(line.trim().indexOf(":") + 1,line.trim().indexOf(":") + 4).trim().equals("3")) 
         System.out.println("Stopping...."); 
        else if (line.trim().substring(line.trim().indexOf(":") + 1,line.trim().indexOf(":") + 4).trim().equals("4")) 
         System.out.println("Running"); 
       } 
       line = reader.readLine(); 
      } 

現在,我想編寫代碼來檢查的Linux,UNIX進程,服務狀態像上面一樣。

感謝,

+0

那麼問題是什麼?不要在你的問題上含糊不清。 (並且絕對不要試圖操縱任何人爲你編寫代碼。) –

+0

現在,我想編寫代碼來檢查Linux,Unix進程,以上服務的狀態。誰能幫我? –

+1

幫你什麼?請明確點。 –

回答

0

你可以用linux命令ps(見man ps獲取更多信息)界面查看進程。

對於服務,這是分佈相關的;許多現代發行版使用systemd,有些仍然使用init腳本。您需要研究您希望支持的任何分發服務的管理方式。