Alex Young wrote:
> Sorry, should have said:  That gives me the above error on Ctrl-C, and
> repeats it for every time I send the interrupt, without ending the
> process.  Just thought I'd clarify that...

I haven't used webrick much but it looks like it uses an exit hook.
Apparently you use the #shutdown method:

require 'xmlrpc/server'
class Server < XMLRPC::Server
  def initialize
    super(8080, '0.0.0.0', 1)
    self.add_handler('test.unit'){ 1 }
    self
  end
  def start
    self.serve
  end
end
server = Server.new
Signal.trap(2) {
  puts "Server killed (sigint)"
  server.shutdown
}
server.start

Regards,
Jordan