Я пытаюсь научиться использовать скрипты Bash и столкнулся со странной ошибкой.
Я открыл терминал и запустил программу npm с помощью следующей команды:
node index.js &
Это запуск API express.js, который я могу использовать в создаваемом мной пользовательском интерфейсе.
После этого я закрыл и вышел из терминала,
Но когда я открываю Postman, мой API все еще работает!
Он не отображается, когда я использую $ ps или $ jobs.
Как найти и закрыть эту программу?
ps Я использую последнюю версию Mac OS. pps Извините, если этот вопрос уже задавался.
решение1
Как завершить процесс после выхода из терминала
У вас есть несколько вариантов, но самый простой, который останавливает все node
процессы, это:
killall node
Или получите список процессов ps -ef
и найдите тот, который хотите завершить:
ps -ef | grep "node" | grep -v grep
Простого запуска ps
будет недостаточно. PID будет показан во втором столбце, поэтому запустите:
kill <pid>
Где <pid>
находится идентификатор процесса.
Что делать вместо&
Если вы хотите, чтобы программа работала все время разработки, например, веб-сервер, вы можете использовать такие инструменты, какforever
. Они предназначены для запуска программ в фоновом режиме (с дополнительными параметрами), которые вы также можете легко остановить.