Skip to content

Instantly share code, notes, and snippets.

@brandon-beacher
Created November 17, 2009 18:35
Show Gist options
  • Select an option

  • Save brandon-beacher/237134 to your computer and use it in GitHub Desktop.

Select an option

Save brandon-beacher/237134 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
require 'rubygems'
require 'bind'
restart = lambda do
if @pid
Process.kill "TERM", @pid
Process.wait @pid
end
@pid = Process.fork
# change start.js here to the filename which starts your process
exec "node start.js" if @pid.nil?
end
restart.call
listener = Bind::Listener.new \
:interval => 1,
:debug => $stdout,
:actions => [restart],
:paths => Dir['**/*.{js,jsont}'] # extensions which when modified trigger restart
listener.run!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment