我用 npm 启动 在 package.json 中定义 start:
{
"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"
}
}
我现在想在不关闭终端的情况下停止它。我该怎么做?
试: npm 停止测试直截应用 但这会引发错误,指出它需要一个脚本
然后尝试: npm run stop with script "stop": "pkill --signal SIGINT testreactapp" 引发错误"pkill 未被识别为命令">
编辑
bash
中的运行ps
显示:
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>
在那里看不到应用程序?
点击键盘快捷键以停止终端命令(通常是 Ctrl+C 或 Ctrl+Q(
或者,如果您没有对进程的输入访问权限,请识别其 PID 并杀死它:
在视窗上 :
C:>Taskkill /PID <PID> /F
在 Linux 上:
$>kill -SIGTERM <PID>
把它添加到你的包中.json:
"stop": "taskkill -F -IM node.exe"
点击Ctrl + C
将在您提供答案后停止正在运行的应用程序,因为它要求Y
;无需关闭终端。
我也有同样的问题。我用这段代码来阻止它
taskkill -F -IM node.exe
只需在终端中输入代码
要确保该过程完成,只需键入以下命令:
$ killall -9 node
将以"节点"的名称杀死所有进程。-9
使用内核来终止进程,而不是进程本身。
请参阅手册页
我在 Mac 上遇到了同样的问题,终端以 VS 代码启动。
CTRL C 会终止节点服务器,但 vscode 进程之后仍会连接到端口,并防止在同一端口上重新启动。
以下解决方法在 Mac 上对我有用
NPX 终止端口 3000
您可以从另一个终端调用它,它应该会终止节点服务器和连接到端口的任何其他相关 vscode 进程,并允许您在同一端口上重新启动服务器。
您还可以在 package.json 中添加脚本:
"停止":"NPX 终止端口 3000">
然后调用纱线停止停止你的服务器
如果您使用的是 Git Bash,您可能会收到无效参数错误。您必须使用以下语法。
要检查要杀死哪个 PID,请执行以下操作:
netstat -aon
在本地地址下查找 127.0.0.1:3000并记下 PID
要终止进程,请执行以下操作:
taskkill -f //PID ####
其中 #### 是上面的 PID。
你可以试试ctrl+z
之后的类型npx kill-port <PORT>
通常在端口3000上开始反应,但你最好检查一下
只需使用Ctrl + c
,它就会停止服务器,很简单。
-
打开任务管理器(任务栏 Righ单击/按Ctrl + Alt + Delete(
-
转到"进程"选项卡
-
查找节点.js:服务器端 JavaScript
-
结束任务。
逐步回答(仅限Windows;对不起!(...
步骤 1:使用端口查找进程(此处的示例将使用端口 3000(。
netstat -aon | findstr :3000
输出将如下所示:
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
步骤 2:确定进程 ID。
我们只想要以下任务:
- 是 TCP(第一列(,并且
- 显示端口 3000(第二列(,以及
LISTENING
(第四列(。
在上面的输出中,这是第 #1 行,即进程 ID 275368(最后一列(。
第 3 步:终止进程。
使用taskkill
和f
(强制(标志,结束步骤 2 中的进程 ID:
taskkill -f -pid 275368
taskkill
标志不区分大小写,可以用破折号或斜杠来衬托,所以这些都是等价的:taskkill -f -pid 275368
、taskkill -F /PID 275368
、taskkill /F /pid 275368
等。
在macOS中工作,但无法ctrl + c
在 VS 代码中打开终端
右键单击终端或单击右上角 zsh-appname
单击最后一个
kill terminal