diff --git a/packages/react-scripts/scripts/start.js b/packages/react-scripts/scripts/start.js
index c9a88d9f5d658e15015e80fc679289108d81bc99..9d6b0e9983f0bb7921538e52e335da7c9c4e2f59 100644
--- a/packages/react-scripts/scripts/start.js
+++ b/packages/react-scripts/scripts/start.js
@@ -84,6 +84,14 @@ choosePort(HOST, DEFAULT_PORT)
       console.log(chalk.cyan('Starting the development server...\n'));
       openBrowser(urls.localUrlForBrowser);
     });
+
+    ['SIGINT', 'SIGTERM'].forEach(function(sig) {
+      process.on(sig, function() {
+        console.log(`Gracefully shutting down server after ${sig}...`);
+        server.close();
+        process.exit();
+      });
+    });
   })
   .catch(err => {
     if (err && err.message) {