diff --git a/scripts/dev.js b/scripts/dev.js
index db7bc11febd14cb336053e283b2cb7dddbc0d6e0..2f20d8f07c6415ca9193cc1e17a90119885366fc 100644
--- a/scripts/dev.js
+++ b/scripts/dev.js
@@ -44,11 +44,17 @@ const fs = require('fs');
 			if (!stat) throw new Error('not exist yet');
 			if (stat.size === 0) throw new Error('not built yet');
 
-			await execa('pnpm', ['start'], {
+			const subprocess = await execa('pnpm', ['start'], {
 				cwd: __dirname + '/../',
 				stdout: process.stdout,
 				stderr: process.stderr,
 			});
+
+			// なぜかworkerだけが終了してmasterが残るのでその対策
+			process.on('SIGINT', () => {
+				subprocess.kill('SIGINT');
+				process.exit(0);
+			});
 		} catch (e) {
 			await new Promise(resolve => setTimeout(resolve, 3000));
 			start();