En myapp.rb, añadir este antes de que comience Sinatra:
puts "This is process #{Process.pid}"
Cuando se quiere acabar con él, hacer esto en un shell:
kill <pid>
Dónde <pid>
es el número que salen de miaplicacion .rb. Si desea hacerlo en ruby:
Process.kill 'TERM', <pid>
Ambos permitirán que sinatra ejecute su rutina de salida. Si no desea escribir el pid cada vez, haga que myapp.rb abra un archivo y lo incluya en él. Luego, cuando quieras detenerlo, lee el archivo y úsalo. Ejemplo:
# myapp.rb:
File.open('myapp.pid', 'w') {|f| f.write Process.pid }
# shell:
kill `cat myapp.pid`
# ruby:
Process.kill 'TERM', File.read('myapp.pid')
Sinatra * Nunca * ejecuta. Sus botas están hechas para * caminar ... * – Shog9