如何停止使用node.js express的应用程序 'npm start'

13 浏览
0 Comments

如何停止使用node.js express的应用程序 'npm start'

你使用express v4.x构建了一个node.js应用,然后通过npm start启动你的应用。我的问题是如何停止这个应用?是否有npm stop的命令?

编辑:包括实现npm stop时的错误。

/home/nodetest2# npm stop
> nodetest2@0.0.1 stop /home/nodetest2
> pkill -s SIGINT nodetest2
pkill: 选项's'的参数无效 -- SIGINT
npm ERR! nodetest2@0.0.1 stop: `pkill -s SIGINT nodetest2`
npm ERR! 退出状态 2

0
0 Comments

问题原因:在MAC OS X(/BSD)上停止node.js express app的方法是使用lsof命令来查找正在监听的文件,然后使用kill命令终止进程。问题可能是由于无法找到正在监听的文件或者无法终止进程导致的。

解决方法:使用lsof命令查找正在监听的文件,然后使用kill命令终止进程。

具体步骤:

1. 打开终端。

2. 输入以下命令查找正在监听的文件:

$ sudo lsof -nPi -sTCP:LISTEN

3. 在列表中使用CMD+F搜索"node",以便更容易找到node进程。

4. 找到要停止的node进程的PID(进程ID)。

5. 输入以下命令终止进程(将PID替换为实际的进程ID):

$ kill -9 PID

以上就是停止node.js express app的方法及步骤,在MAC OS X(/BSD)上可以使用lsof和kill命令来实现。通过查找正在监听的文件并终止相应的进程,可以停止app的运行。

0
0 Comments

问题出现的原因是希望通过运行npm stop命令来停止运行中的Node.js Express应用程序,但是默认情况下,npm stop命令并不能真正停止应用程序。为了解决这个问题,可以使用socket.io来实现停止应用程序的功能。

解决方法如下:

1. 在package.json文件中的scripts字段中添加一个stop脚本,指定运行的server.stop.js文件。

2. 在server.js文件中,创建一个socket.io服务器并监听npmStop事件。当收到npmStop事件时,调用process.exit(0)来停止应用程序。

3. 在server.stop.js文件中,创建一个socket.io客户端连接到服务器,并在连接成功后发送npmStop事件。然后等待1秒钟后调用process.exit(0)来停止应用程序。

4. 最后,在命令行中运行npm start来启动应用程序,运行npm stop来停止应用程序。

这种方法的优点是可以在任何环境中运行,包括限制进程操作的容器环境。通过使用socket.io来停止应用程序,实现了一种优雅的方式。

0
0 Comments

问题原因:使用npm启动的应用无法通过npm stop命令停止。

解决方法:在package.json中设置stop脚本,并使用npm stop命令停止应用。在app.js中设置process.title为myApp,在scripts.json中设置stop脚本为pkill --signal SIGINT myApp。如果需要在angular 4应用中实现此功能,可以参考相关文档。

另外,如果需要在Windows系统中停止应用,可以使用taskkill命令,并根据进程名或进程ID来识别要停止的进程。

0