diff --git a/src/ruby/bin/interop/interop_server.rb b/src/ruby/bin/interop/interop_server.rb
index 0819ba9bbcc1d791091a7a9de38514e0e296d434..72570d92f3c34d2e6c86f734cf14973ffa7e3df3 100755
--- a/src/ruby/bin/interop/interop_server.rb
+++ b/src/ruby/bin/interop/interop_server.rb
@@ -185,7 +185,7 @@ def main
     logger.info("... running insecurely on #{host}")
   end
   s.handle(TestTarget)
-  s.run
+  s.run_till_terminated
 end
 
 main
diff --git a/src/ruby/bin/math_server.rb b/src/ruby/bin/math_server.rb
index 5cc76134893c225f12e5f22d9feb5f18da64a525..1bfe253b855375fd24e8e79a579d6ba97f491b83 100755
--- a/src/ruby/bin/math_server.rb
+++ b/src/ruby/bin/math_server.rb
@@ -183,7 +183,7 @@ def main
   end
 
   s.handle(Calculator)
-  s.run
+  s.run_till_terminated
 end
 
 main
diff --git a/src/ruby/bin/noproto_server.rb b/src/ruby/bin/noproto_server.rb
index 9979cb7ebbdd693e08f730d281f6213f316331b8..f71daeadb37e4822c294468d72958b08c3c16725 100755
--- a/src/ruby/bin/noproto_server.rb
+++ b/src/ruby/bin/noproto_server.rb
@@ -105,7 +105,7 @@ def main
   end
 
   s.handle(NoProto)
-  s.run
+  s.run_till_terminated
 end
 
 main