diff --git a/lib/rghost/gs_alone.rb b/lib/rghost/gs_alone.rb index e51c35f..2ba1310 100755 --- a/lib/rghost/gs_alone.rb +++ b/lib/rghost/gs_alone.rb @@ -12,9 +12,15 @@ def run unless File.exists?(RGhost::Config::GS[:path].to_s) RGhost::Config.config_platform end - r=system(RGhost::Config::GS[:path]+cmd) + + full_command = "#{RGhost::Config::GS[:path]}#{cmd}" + timeout = RGhost::Config::GS[:timeout].to_i + if timeout > 0 + full_command = "timeout #{timeout}s #{full_command}" + end + r=system(full_command) - puts RGhost::Config::GS[:path]+cmd if @debug + puts full_command if @debug #puts r r end diff --git a/lib/rghost/ruby_ghost_config.rb b/lib/rghost/ruby_ghost_config.rb index b83ff67..8f1add7 100755 --- a/lib/rghost/ruby_ghost_config.rb +++ b/lib/rghost/ruby_ghost_config.rb @@ -64,6 +64,7 @@ module RGhost::Config :plugin => nil, :path => nil, :tmpdir => ENV["TMP"] || ENV["TMPDIR"] || ENV["TEMPDIR"] || ENV["TEMP"] || "/tmp", + :timeout => ENV['GS_TIMEOUT'] || 3000, :pslibdir => File.join( File.dirname(__FILE__),"ps"), :extensions => [], :preload => [],