# Terminator-0.4.2

**URL:** <https://www.ruby-forum.com/t/terminator-0-4-2/148244>\
**Category:** Ruby\
**Created:** [September 10, 2008, 9:34pm UTC](https://www.ruby-forum.com/t/terminator-0-4-2/148244 "2008-09-10T21:34:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ahoward](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/779978/32.png) [@ahoward](https://www.ruby-forum.com/u/ahoward)\
**Post date:** [September 10, 2008, 9:34pm UTC](https://www.ruby-forum.com/t/terminator-0-4-2/148244/1 "2008-09-10T21:34:33Z")

</div>

NAME  
terminator

SYNOPSIS  
an external timeout mechanism based on processes and signals. safe  
on  
windows. safe for system calls. safe for minors.

INSTALL  
gem install terminator

URIS  
[http://codeforpeople.com/lib/ruby](http://codeforpeople.com/lib/ruby)  
[http://rubyforge.org/projects/codeforpeople](http://rubyforge.org/projects/codeforpeople)

HISTORY  
0.4.2  
initial version with

AUTHORS  
ara.t.howard  
mikel lindsaar

SAMPLES

\<========\< samples/a.rb \>========\>

~ \> cat samples/a.rb

```
 require 'terminator'

 Terminator.terminate 2 do
   sleep 4
 end

```

~ \> ruby samples/a.rb

```
 samples/a.rb:3: 2s (Terminator::Error)
   from samples/a.rb:3

```

\<========\< samples/b.rb \>========\>

~ \> cat samples/b.rb

```
 require 'terminator'

 Terminator.terminate 0.2 do
   sleep 0.4 rescue puts 'timed out!'
 end

```

~ \> ruby samples/b.rb

```
 timed out!

```

\<========\< samples/c.rb \>========\>

~ \> cat samples/c.rb

```
 require 'terminator'

 begin
   Terminator.terminate :seconds => 0.2 do
     sleep 0.4
   end
 rescue Terminator.error
   puts 'timed out!'
 end

```

~ \> ruby samples/c.rb

```
 timed out!

```

\<========\< samples/d.rb \>========\>

~ \> cat samples/d.rb

```
 require 'terminator'

 trap = lambda{ puts "signaled @ #{ Time.now.to_i }" }

 Terminator.terminate :seconds => 1, :trap => trap do
   sleep 2
   puts "woke up @ #{ Time.now.to_i }"
 end

```

~ \> ruby samples/d.rb

```
 signaled @ 1221026177
 woke up @ 1221026178

```

a @ [http://codeforpeople.com/](http://codeforpeople.com/)
