anewusername1/forkme
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
gem install forkme A library for managing forks The mother process spawns a fork and opens an io from the child to the parent and vice versa. If the mother process dies, the children commit suicide. They also accept HUP and INT calls and die then as well. Used like so, forkme = Forkme.new(num_of_childs, Logger) forkme.start do sleep 10 puts "hey!!!" end The above code will continuously print "hey!!!". Once the child process has slept 10 seconds and printed "hey!!!" it will die and the mother process will start another to replace it. You can start this in a thread if you'd like to have control back after spawning the children. Thread.new do forkme.start do ... end end If you have to change the number of max forks forkme should spawn, it can be done forkme = Forkme.new(num_of_childs, Logger) forkme.start do forkme.max_forks = new_num_of_childs sleep 10 ...do something... end Have fun and enjoy :]