npm-stop
This runs a predefined command specified in the "stop" property of a package's "scripts" object.
Unlike with npm start, there is no default script that will run if the "stop" property is not defined.
- Default: false
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
Note that commands explicitly intended to run a particular script, such as npm start , npm stop , npm restart , npm test , and npm run-script will still run their intended script if ignore-scripts is set, but they will not run any pre- or post-scripts.
- Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
- Type: null or String
The shell to use for scripts run with the npm exec , npm run and npm init <pkg> commands.
How to stop running npm process on the terminal shell
Unlike with starting a npm process where you need to run the npm start or npm run serve command, stopping a running npm process doesn’t require a command.
You can stop any running npm process with CTRL + C (Windows/Linux/Mac)
For example, suppose you have a running Vue local server as follows:
You need to select the running shell window, then press CTRL + C to stop the process.
You should see a new line available in your shell, indicating that you can run another command from it:
Alternatively, you can close the shell window to stop the running process immediately.
This can be useful when the running process is lagging and pressing CTRL + C isn’t working.
The same method will work no matter what project you are running (Vue, React, Express, etc.)
People new to npm-based projects usually thought they need to create a stop script in the scripts object:
But while you can define a stop script to run with the npm stop command, that command doesn’t have any special meaning in npm.
It’s just another command you can run using npm, but it doesn’t stop the running server just because the name is npm stop .
To stop a running npm process, press CTRL + C or close the shell window.
Here’s a short video showing the keystrokes:
Your browser does not support the video tag.
And that’s how you stop a running npm process on the terminal.
Level up your programming skills
I'm sending out an occasional email with the latest programming tutorials. Drop your email in the box below and I'll send new stuff straight into your inbox!
report this ad
About
Sebhastian is a site that makes learning programming easy with its step-by-step, beginner-friendly tutorials.
Learn JavaScript and other programming languages with clear examples.
Search
Type the keyword below and hit enter

report this ad
Click to see all tutorials tagged with:

report this ad
Как остановить приложение, которое node.js выражает «запуск npm»
Вы создаете приложение node.js с Express v4.x, а затем запускаете свое приложение с помощью npm start. Мой вопрос: как остановить приложение? Есть ли остановка npm?
ИЗМЕНИТЬ, чтобы включить ошибку при реализации npm stop
Ответы (16)
Да, npm также предоставляет сценарий остановки:
npm help npm-scripts
prestop, stop, poststop: запускается командой npm stop.
Установите один из вышеперечисленных в вашем package.json, а затем используйте npm stop
npm help npm-stop
Вы можете сделать это очень просто, если установите app.js ,
А затем в scripts.json,
Тем не менее, если бы это был я, я бы использовал pm2 или что-то, что автоматически обрабатывало это на основе git push.
Все остальные решения здесь зависят от ОС. Самостоятельное решение для любой ОС использует socket.io следующим образом.
package.json имеет два скрипта:
server.js — здесь живут ваши обычные экспресс-материалы
сервер.stop.js
Проверьте это
npm start (для запуска сервера как обычно)
npm stop (теперь это остановит ваш работающий сервер)
Приведенный выше код не тестировался (это урезанная версия моего кода, мой код работает), но, надеюсь, он работает как есть. В любом случае, он дает общее направление, если вы хотите использовать socket.io для остановки вашего сервера.
В MAC OS X (/BSD): вы можете попробовать использовать команду lsof (список открытых файлов)

Когда я попробовал предложенное решение, я понял, что имя моего приложения усечено. Я прочитал process.title в документации по nodejs (https://nodejs.org/docs/latest/api/process.html#process_process_title), и там написано
В Linux и OS X он ограничен размером имени двоичного файла плюс длиной аргументов командной строки, поскольку он перезаписывает память argv.
Мое приложение не использует никаких аргументов, поэтому я могу добавить эту строку кода в свой app.js
а затем добавьте эти несколько строк в мой файл package.json
использовать очень длинные имена процессов. npm start и npm stop работают, конечно, npm stop всегда завершает все запущенные процессы, но для меня это нормально.
Это проблема мятной версии, альтернативно используйте cmd. Чтобы убить серверный процесс, просто запустите эту команду:
Проверить с помощью netstat -nptl все процессы
И это просто убивает процесс по ссылке PID. В моем случае я хочу остановить 6231/nodejs, поэтому я выполняю следующую команду:
Если вы уже пробовали ctrl + c и это все еще не работает, вы можете попробовать это. Это сработало для меня.
Запустите командную строку от имени администратора. Затем выполните приведенную ниже команду, чтобы найти идентификатор процесса (PID), который вы хотите убить. Введите номер порта в <yourPortNumber>
netstat -ano | findstr :<yourPortNumber>

Затем вы выполняете эту команду после того, как определили PID.
taskkill /PID <typeYourPIDhere> /F

Вот еще одно решение, которое смешивает идеи из предыдущих ответов. Он использует подход «процесс уничтожения» при решении проблемы независимости от платформы.
Он использует пакет tree-kill для уничтожения дерева процессов сервера. Я обнаружил, что в моих проектах необходимо убить все дерево процессов, потому что некоторые инструменты (например, babel-node ) порождают дочерние процессы. Если вам нужно убить только один процесс, вы можете заменить tree-kill встроенным методом process.kill() .
Решение следующее (первые два аргумента spawn() должны быть изменены, чтобы отразить конкретный рецепт запуска вашего сервера):
Обратите внимание, что это решение отсоединяет сценарий запуска от сервера (т. е. npm start немедленно вернется и не будет блокироваться, пока сервер не будет остановлен). Если вы предпочитаете традиционное поведение блокировки, просто удалите аргумент options.detached в spawn() и вызов child.unref() .
Для машины с Windows (у меня Windows 10), если команда CTRL + C (Отмена/Прервать) на cli не работает, и экран выглядит следующим образом:

Попробуйте сначала нажать ENTER (или подойдет любая клавиша), а затем CTRL + C, и текущий процесс спросит, хотите ли вы завершить пакетное задание:

Возможно, CTRL+C завершает только родительский процесс, в то время как запуск npm выполняется с другими дочерними процессами. Совершенно не уверен, почему вы должны нажимать эту дополнительную клавишу до CTRL + C, но это работает лучше, чем закрытие командной строки и запуск заново.
How to Stop a React App from Running in Windows
Let’s say you are running a React app, which you started using npm start:

It is running in a browser, but closing the browser does not stop the app:

To stop this from running, in the command prompt, type CTRL-C. You will get the prompt to Terminate batch job:

Type Y and the app will stop running:

You can now run npm start again if you want to relaunch the app.
I AM SPENDING MORE TIME THESE DAYS CREATING YOUTUBE VIDEOS TO HELP PEOPLE LEARN THE MICROSOFT POWER PLATFORM.
IF YOU WOULD LIKE TO SEE HOW I BUILD APPS, OR FIND SOMETHING USEFUL READING MY BLOG, I WOULD REALLY APPRECIATE YOU SUBSCRIBING TO MY YOUTUBE CHANNEL.
THANK YOU, AND LET’S KEEP LEARNING TOGETHER.

Carl de Souza is a developer and architect focusing on Microsoft Dynamics 365, Power BI, Azure, and AI.