В myapp.rb добавьте это до запуска sinatra:
puts "This is process #{Process.pid}"
Если вы хотите убить его, сделайте это в оболочке:
kill <pid>
Где <pid>
число, выведенное myapp.rb.Если вы хотите сделать это в ruby:
Process.kill 'TERM', <pid>
Оба из них позволят sinatra запустить программу выхода.Если вы не хотите каждый раз вводить pid, пусть myapp.rb откроет файл и поместит в него pid.Затем, когда вы хотите остановить его, прочитайте файл и используйте его.Пример:
# 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')