Skip to content
/ kaanta Public

Kaanta is an educational Unix preforking server and is a part of my talk at RubyConf India 2013, titled Ruby loves Unix: Applying beautiful Unix idioms to build a Ruby prefork server.

License

Notifications You must be signed in to change notification settings

sahilm/kaanta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kaanta

Kaanta is an educational Unix preforking server and is a part of my talk at RubyConf India 2013, titled, Ruby loves Unix: Applying beautiful Unix idioms to build a Ruby prefork server. Slides. It's meant to be a demonstration of classic unix idioms like concurrency via fork(2), IPC via signals and some not so common ones like fchmod(2) based worker heartbeat and signal handling via SELF_PIPE.

Most of the code has been gleaned from the Unicorn Server. I'm very thankful to Eric Wong and all contributors to Unicorn. I would also like to thank Jesse Storimer for writing the very approachable Working With Unix Processes. It's an excellent book which got me thinking more deeply about Unix in general.

Kaanta executes arbitrary code sent by clients and is of course not meant to be used for anything important.

Kaanta is Hindi for fork.

Usage

  • bundle install --path=.bundle
  • bin/kaanta starts up the kaanta server on 0.0.0.0:8080
  • echo "ls" | nc localhost 8080 will execute the ls command on any of the 3 spawned workers and return it's output to the client.
  • See bin/kaanta --help for options.

License

Contains code from the Unicorn Server, LICENSE Copyright (c) Eric Wong et al.

Copyright (c) 2013 Sahil Muthoo

MIT License

About

Kaanta is an educational Unix preforking server and is a part of my talk at RubyConf India 2013, titled Ruby loves Unix: Applying beautiful Unix idioms to build a Ruby prefork server.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages