2014-04-08 92 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脚本。您需要研究您希望支持的任何分发服务的管理方式。