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