How Stop After Running React-Scripts Start?

I started a React app with npm start with start defined in package.json:

{
  "name": "testreactapp",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^15.6.1",
    "react-dom": "^15.6.1",
    "react-scripts": "1.0.10"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

I want to stop it now, without closing the terminal. How do I do that?

Tried: npm stop testrectapp but that throws error that it needs a script

Then tried: npm run stop with script "stop": "pkill --signal SIGINT testreactapp" that throws error 'pkill is not recognized as a command'

Edit

Running ps in bash shows:

      PID    PPID    PGID     WINPID   TTY         UID    STIME COMMAND
     6652       1    6652       6652  ?         197612 19:52:49 /usr/bin/mintty
     1092       1    1092       1092  ?         197612   Jul 25 /usr/bin/mintty
    11092    6652   11092      10060  pty1      197612 19:52:49 /usr/bin/bash
    13868    1092   13868        992  pty0      197612   Jul 25 /usr/bin/bash
    11428   13868   11428      17340  pty0      197612 12:48:27 /usr/bin/ps
    11672    1092    1092      11672  ?         197612   Jul 25 /usr/bin/mintty <defunct>

Don't see the app there?

2

12 Answers

Hit your keyboard shortcut for stopping terminal commands (usually Ctrl+C or Ctrl+Q)

Or, if you don't have input access to the process, identify its PID and kill it :

On Windows :

C:\>Taskkill /PID <PID> /F

On Linux :

$>kill -SIGTERM <PID>
6

Add this in your package.json:

"stop": "taskkill -F -IM node.exe"
0

Hitting Ctrl + C will stop the running app after you provide an answer as Y as it asks; No need to close your terminal.

3

I had same issue too. I used this code to stop it

taskkill -F -IM node.exe

Just type the code in the terminal

0

To make sure the process it finished just type the command:

$ killall -9 node

Will kill all processes by with the name "node". -9 to use kernel for killing the process, instead of process itself.

See the manpage

3

I am having the same problem on Mac with a terminal started in VS code.

CTRL C kills the node server however a vscode process remains attached to the port afterwards and prevents restarting on the same port.

The following workaround works for me on Mac

npx kill-port 3000

You can call this from another terminal and it should kill the node server and any other related vscode processes attached to the port and allow you to restart the server on the same port.

You can also add a script in package.json:

"stop": "npx kill-port 3000"

Then call yarn stop to stop your server

If you're using Git Bash you might get an invalid arguments error. You have to use the following syntax.

To check which PID to kill:

netstat -aon

Look for 127.0.0.1:3000 under Local Address and note the PID

To kill the process:

taskkill -f //PID ####

where #### is the PID from above.

0

You can try ctrl+z
After that type npx kill-port <PORT>
Usually react start on port 3000, but you better check it out

Simply use Ctrl + c and it will stop the server, simple.

  1. Open Task manager (Task Bar Righ click/press Ctrl + Alt + Delete)

  2. Go on to the Processes tab

  3. Find the Node. js: Server-side JavaScript

  4. End the task.

Step by step answer (Windows only; sorry!)...

Step 1: find processes using the port (port 3000 will be used for the examples here).

netstat -aon | findstr :3000

Output will be something like this:

  TCP    0.0.0.0:3000           0.0.0.0:0              LISTENING       275368
  TCP    127.0.0.1:3000         127.0.0.1:52462        ESTABLISHED     275368
  TCP    127.0.0.1:52462        127.0.0.1:3000         ESTABLISHED     15760

Step 2: identify the process ID.

We only want tasks which:

  1. Are TCP (first column), and
  2. Show port 3000 (second column), and
  3. Are LISTENING (fourth column).

In the output above that's line #1, which is process ID 275368 (last column).

Step 3: kill the process.

Use taskkill, with the f (forceful) flag, to end the process ID from Step 2:

taskkill -f -pid 275368

The taskkill flags are not case sensitive, and they can be set off with a dash or a slash, so these are all equivalent: taskkill -f -pid 275368, taskkill -F /PID 275368, taskkill /F /pid 275368, etc.

working in macOS but cant work ctrl + c

  1. open a terminal in vs code

  2. right-click on the terminal OR click on right top zsh-appname

  3. click last one kill terminal

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Elena Rostova

Elena Rostova

Lead Health, Wellness & Medical Journalist

Elena Rostova holds a Master's degree in Public Health Journalism. She covers groundbreaking medical research, holistic wellness trends, mental health awareness, and nutritional science.

Share this article
Twitter Facebook Pinterest