繁体   English   中英

运行 react-scripts start 后如何停止?

[英]How stop after running react-scripts start?

我用 npm 启动了一个 React 应用程序,开始定义在 package.json 中:

 { "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 停止 testrectapp 但抛出它需要脚本的错误

然后尝试:npm run stop with script "stop": "pkill --signal SIGINT testreactapp" that throws error 'pkill is not recognized as a command'

编辑

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 并终止它:

在 Windows 上:

C:\>Taskkill /PID <PID> /F

在 Linux 上:

$>kill -SIGTERM <PID>

在你的 package.json 中添加这个:

"stop": "taskkill -F -IM node.exe"

在您提供Y的答案后, Ctrl + C将停止正在运行的应用程序; 无需关闭终端。

我也有同样的问题。 我用这段代码来阻止它

taskkill -F -IM node.exe

只需在终端输入代码

要确保它完成的过程只需键入命令:

$ killall -9 node

将使用名称“node”杀死所有进程。 -9使用内核杀死进程,而不是进程本身。

请参阅手册页

如果您使用的是 Git Bash,您可能会收到无效参数错误。 您必须使用以下语法。

要检查要杀死的 PID:

netstat -aon

本地地址下查找 127.0.0.1:3000 并记下 PID

要杀死进程:

taskkill -f //PID ####

其中#### 是上面的PID。

我在使用 VS 代码启动的终端的 Mac 上遇到了同样的问题。

CTRL C 会杀死节点服务器,但是之后一个 vscode 进程仍然连接到该端口,并防止在同一端口上重新启动。

以下解决方法适用于 Mac

npx 终止端口 3000

您可以从另一个终端调用它,它应该会终止节点服务器和连接到该端口的任何其他相关 vscode 进程,并允许您在同一端口上重新启动服务器。

您还可以在 package.json 中添加脚本:

“停止”:“npx 终止端口 3000”

然后调用 yarn stop 来停止你的服务器

只需使用Ctrl + c ,它就会停止服务器,很简单。

  1. 打开任务管理器(任务栏右键单击/按 Ctrl + Alt + Delete)

  2. 转到“进程”选项卡

  3. 找到节点。 js:服务器端 JavaScript

  4. 结束任务。

在 macOS 中工作但不能工作ctrl + c

  1. 在 vs code 中打开一个终端

  2. 右键单击终端或单击右上角的 zsh-appname

  3. 单击最后一个kill terminal

逐步回答(仅限 Windows;抱歉。)...

第 1 步:使用端口查找进程(此处的示例将使用端口 3000)。

netstat -aon | findstr :3000

Output 将是这样的:

  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。

我们只想要任务:

  1. 是 TCP(第一列),
  2. 显示端口 3000(第二列),以及
  3. 正在LISTENING (第四列)。

在上面的 output 中,第 1 行是进程 ID 275368(最后一列)。

第三步:杀死进程。

使用带有f (强制)标志的taskkill结束步骤 2 中的进程 ID:

taskkill -f -pid 275368

taskkill标志不区分大小写,它们可以用破折号或斜线分隔,因此它们都是等效的: taskkill -f -pid 275368taskkill -F /PID 275368taskkill /F /pid 275368等。

你可以试试ctrl+z
之后输入npx kill-port <PORT>
通常 react 在端口 3000 上启动,但你最好检查一下

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM