# Subprocess or Thread

**URL:** <https://www.ruby-forum.com/t/subprocess-or-thread/108620>\
**Category:** Ruby\
**Created:** [July 5, 2007, 1:14pm UTC](https://www.ruby-forum.com/t/subprocess-or-thread/108620 "2007-07-05T13:14:06Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mdeering](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/278dde/32.png) [@mdeering](https://www.ruby-forum.com/u/mdeering)\
**Post date:** [July 5, 2007, 1:14pm UTC](https://www.ruby-forum.com/t/subprocess-or-thread/108620/1 "2007-07-05T13:14:06Z")

</div>

Hi,

i’ve a method in ruby with is running for long time (hast to watch for  
events)

I’ve tried to do it in an Thread, but it doesn’t work.

How can I do a block of code in an subprocess?

Thnx for help,

Michael

---

<div class="post-metadata">

**Author:** ![mdeering](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/278dde/32.png) [@mdeering](https://www.ruby-forum.com/u/mdeering)\
**Post date:** [August 9, 2007, 12:59pm UTC](https://www.ruby-forum.com/t/subprocess-or-thread/108620/2 "2007-08-09T12:59:56Z")

</div>

Perhaps use BackgrounDRb. [http://backgroundrb.rubyforge.org/](http://backgroundrb.rubyforge.org/) Note that  
it’s not just for Rails.

---

<div class="post-metadata">

**Author:** ![mdeering](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/278dde/32.png) [@mdeering](https://www.ruby-forum.com/u/mdeering)\
**Post date:** [August 9, 2007, 1:53pm UTC](https://www.ruby-forum.com/t/subprocess-or-thread/108620/3 "2007-08-09T13:53:48Z")

</div>

2007/7/5, Michael D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> i’ve a method in ruby with is running for long time (hast to watch for  
> events)

Can you show some code or give more detailed explanation what “watch  
for events” really means?

> I’ve tried to do it in an Thread, but it doesn’t work.
> 
> How can I do a block of code in an subprocess?

It’s as simple as this:

puts $$  
fork do  
puts $$  
end

$ ruby -e ‘puts $$;fork do puts $$ end’  
2512  
2632

Whether you actually need another process depends on what you do.

Kind regards

robert
