2011-07-14 55 views
1

1)如何檢查遠程機器是否啓動(最多表示正在運行)。
2)另外我怎樣才能得到自上次啓動以來機器啓動的時間?
我如何檢查遠程機器是否啓動?

我會得到一個運行在機器A上的java程序,它將檢查機器C和D是否啓動以及機器啓動的關係。 兩臺機器都在同一個LAN中。
計劃應該是一個能夠檢查是否任何Windows機器是up.How我可以檢查同爲Linux如果possibe?我更感興趣的是Windows作爲機器C和d

+0

是在Windows或Linux上運行的Java程序? –

回答

0

可以ping一個機器,看看如果它正在運行並且可以通過網絡訪問。

如果您希望另一臺機器返回特定信息(如正常運行時間),則需要在目標機器上運行某種服務,然後調用該服務以檢索正常運行時間。

Sockets是需要考慮的事情,如果你需要比平。或者,它可能是矯枉過正的,你可以在目標機器上運行Tomcat,然後通過HTTP調用它們。

2

如果你想從JAVA內部ping,你可以做一些事情。

import java.net.Socket; 

//7 specifies Socked 
Socket t = new Socket("111.111.1.11", 7); 

編輯:我會假設你可以簡單地分配在命令提示符下的套接字。

例如= String ip = XXX.XXX.X.XX:XXXX

或者來ping你可以使用這個網絡上的一個特定的IP。

public static void main(String[] args) { 

     // ip = IP/website you want to ping or google! 
     String ip = "google.com"; 
     //Don't forget to leave a space after ping 
     String pingcmd = "ping " + ip; 
     Runtime r = Runtime.getRuntime(); 
     Process p; 
    try { 
     p = r.exec(pingcmd); 
     BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); 
     String inputLine; 
     while ((inputLine = in.readLine()) != null) { 

     System.out.println(inputLine); 
     } 
    } 
    catch (IOException ex) { 
     Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); 
    } 
+1

添加了用於ping的代碼 – sealz

相關問題