Sha256: 41926d626e871cc4f015bbb3d67be3959c8702ea11bfa07968e50ef27fb15b67
Contents?: true
Size: 629 Bytes
Versions: 34
Compression:
Stored size: 629 Bytes
Contents
require 'open4' def show_failure fork{ yield } Process.wait puts end # # command timeout # show_failure{ open4.spawn 'sleep 42', 'timeout' => 1 } # # stdin timeout # show_failure{ producer = 'ruby -e" STDOUT.sync = true; loop{sleep(rand+rand) and puts 42} " 2>/dev/null' consumer = 'ruby -e" STDOUT.sync = true; STDIN.each{|line| puts line} "' open4(producer) do |pid, i, o, e| open4.spawn consumer, 0=>o, 1=>STDOUT, :stdin_timeout => 1.4 end } # # stdout timeout (stderr is similar) # show_failure{ open4.spawn 'ruby -e" sleep 2 and puts 42 "', 'stdout_timeout' => 1 }
Version data entries
34 entries across 34 versions & 4 rubygems