diff --git a/tunnel.py b/tunnel.py
index 116784bff71f6831af21b5e931b0cbf15ea0fcf8..145749ce45d94e983a48ae39bb31fa5f0da3b948 100644
--- a/tunnel.py
+++ b/tunnel.py
@@ -121,7 +121,7 @@ class TunnelManager:
         utils.log('Killing the connection with %s...' % (prefix,), 2)
         connection = self._connection_dict.pop(prefix)
         try:
-            connection.process.kill()
+            connection.process.terminate()
         except OSError:
             # If the process is already exited
             pass
diff --git a/vifibnet.py b/vifibnet.py
index 394be079a3b18e7f9aedb1ae1239ce06b8fc4e3f..11e454ebaf362fcb2e0ad6f60cebb9d6ebef2865 100755
--- a/vifibnet.py
+++ b/vifibnet.py
@@ -165,22 +165,22 @@ def main():
                 forwarder.refresh()
     except KeyboardInterrupt:
         try:
-            router.kill()
+            router.terminate()
         except:
             pass
         try:
-            server_process.kill()
+            server_process.terminate()
         except:
             pass
         tunnel_manager.killAll()
         return 0
     except:
         try:
-            router.kill()
+            router.terminate()
         except:
             pass
         try:
-            server_process.kill()
+            server_process.terminate()
         except:
             pass
         try: