📌  相关文章
📜  停止在端口 3000 上运行的 npm - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:07:02.457000             🧑  作者: Mango

停止在端口 3000 上运行的 npm - Shell-Bash

在编写和部署应用程序时经常需要在本地计算机或服务器上运行应用程序。通常情况下,需要使用某个特定的端口号进行通信。某些情况下,我们需要停止运行在某个端口上的程序。本文将介绍如何停止运行在端口 3000 上的 npm。

使用命令行停止 npm

打开终端或命令行工具,使用以下命令行停止运行在端口 3000 上的 npm:

kill $(lsof -t -i:3000)

该命令主要使用了 Linux 中的 kill 命令和 lsof 命令。其中,lsof 命令用于列出所有打开的文件,-t 标志仅输出 pid,-i:指定网络套接字文件类型和端口号进行过滤,就可以过滤出运行在端口 3000 上的程序,这样得到的 pid 就可以通过 kill 命令进行强制终止了。示例输出如下:

kill 6285
使用 npm 命令停止运行

在命令行中使用如下命令可以停止运行在端口 3000 上的 npm:

npm run stop

为使该命令生效,你需要在项目的 package.json 文件中定义一个脚本,如下所示:

{
  "name": "myapp",
  "version": "1.0.0",
  "scripts": {
    "start": "node index.js",
    "stop": "lsof -i tcp:3000 | awk 'NR!=1 {print $2}' | xargs kill",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "express": "^4.16.0"
  }
}

在示例中,“start”脚本用于启动应用程序,“stop”脚本使用 lsof 命令、awk 命令和 kill 命令来停止程序。这个命令会列出运行在端口 3000 上的所有进程,并终止它们。该命令可以在项目目录下通过 npm run stop 命令来执行。示例输出如下:

27014
killed: 27014
总结

本文介绍了如何停止运行在端口 3000 上的 npm。我们可以通过命令行终止该程序或者在应用程序的 package.json 文件中定义一个“stop”脚本。这对于需要在本地计算机或服务器上运行应用程序的程序员非常有用。