diff --git a/mod/network b/mod/network index 093765c..9582052 100644 --- a/mod/network +++ b/mod/network @@ -3,6 +3,8 @@ class ModNetwork < ModBasic @@mod_name = 'network' + require 'open3' + def data_loop() $panel_data[@@mod_name.to_sym] = "checking..." @@ -18,9 +20,11 @@ class ModNetwork < ModBasic net_ok = 0 hosts.each do |h| - if system("ping -c 1 #{h} > /dev/null") - net_ok += 1 - end + i,o,t = Open3.popen2("ping", "-c", "1", h) + i.close; o.close + t.join + + net_ok += 1 if t.value end if net_ok == 0