Sinatra - encerra o servidor a partir do pedido

Eu quero ser capaz de encerrar um aplicativo Sinatra de uma solicitação, por ex. com a seguinte rota:

post '/terminate' do
  Thread.current.kill
end

Implementá-lo assim é um pouco abrupto. Eu prefiro a solicitação concluída, retornei uma mensagem HTTP OK e, em seguida, Sinatra desligado normalmente.

Existe um gancho para fazer isso?

Editar:

Meu aplicativo é um servidor de simulação leve usado para receber notificações de webhook. Eu vou estar usando vários servidores como este na mesma máquina (portas diferentes), por isso preciso evitar quaisquer métodos globais de iniciar / parar.

Meu requisito é orientado pelo fato de que cada servidor deve ser executado em sua própria instância Ruby, portanto, não há comunicação entre meus testes e o servidor, exceto por meio da interface REST.

Estou usando o padrãothin servidor para executar o Sinatra. Até agora meu código é apenas uma subclasse do Sinatra :: Base, começou a usarrun! de dentro do código. Isso é bom e simples, eu posso fazer scripts independentes para instanciar cada servidor, eu só preciso ter uma maneira de pará-los.

questionAnswers(1)

yourAnswerToTheQuestion