【问题标题】:How stop after running react-scripts start?运行 react-scripts start 后如何停止?
【发布时间】:2018-01-14 14:19:07
【问题描述】:

我启动了一个 React 应用程序 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 stop testrectapp 但这会引发需要脚本的错误

然后尝试: npm run stop 使用脚本“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
  • @SatishPatel 它并不总是终止进程。

标签: javascript node.js reactjs react-scripts pkill


【解决方案1】:

在 macOS 中工作但无法工作 ctrl + c

  1. 在vs代码中打开一个终端

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

  3. 点击最后​​一个kill terminal

【讨论】:

    【解决方案2】:

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

    $ killall -9 node
    

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

    manpage

    【讨论】:

    • 这是在命令 ctrl+C 不起作用但仍然显示某些东西正在运行的情况下
    • 这将杀死 ALL 节点进程,这样做可能会产生意想不到的副作用
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      taskkill -F -IM node.exe
      

      只需在终端输入代码

      【讨论】:

        【解决方案5】:

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

        检查要杀死的 PID:

        netstat -aon
        

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

        终止进程:

        taskkill -f //PID ####
        

        #### 是上面的 PID。

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

            【解决方案7】:

            点击键盘快捷键来停止终端命令(通常是 Ctrl+C 或 Ctrl+Q)

            或者,如果您没有对该进程的输入访问权限,请识别其 PID 并终止它:

            在 Windows 上:

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

            在 Linux 上:

            $>kill -SIGTERM <PID>
            

            【讨论】:

            • 我在 cygwin bash 终端中的 Windows 机器上工作。我现在尝试了 Ctrl-C 但这不起作用。
            • 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年7月25日/ USR / BIN / MINTTY 11092 6652 11092 10060 10060 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 7 月 25 日 /usr/bin/mintty 那里看不到应用程序?
            • 现在我终止了 al bash 终端,但我仍然收到无法启动的消息,因为“端口 3000 上已经有东西在运行。”如何解决?
            • Found Worker pid:4064 drive.google.com/drive/serviceworker.js?ouid=u8fe2c40ee7bb618a when running chrome://inspect/#service-workers 在此帖子之后:github.com/react-boilerplate/react-boilerplate/issues/373 在 Chrome 中终止了该 serviceworker,但是在 npm start 上仍然出现相同的错误消息
            • 最后:在 cygwin bash 终端之外运行它,在(本机)Windows 终端(命令提示符)中做到了:taskkill /PID 8528
            【解决方案8】:

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

            【讨论】:

            • CTRL+C 不询问任何内容,并且始终保持进程运行,直到终端关闭,至少在 ZSH 中没有。
            • 这里也一样。我每次都需要关闭/重新打开我的终端。这只是过去一两个月的问题。
            • @Zip184 在这里相同。不知道为什么,但是没有对一个相当老的项目的配置或它运行的终端进行任何更改,CTRL+C 突然停止为我工作。大约 30% 的时间进程在后台运行。奇怪又令人沮丧!
            猜你喜欢
            • 2017-11-07
            • 2017-11-16
            • 2017-03-25
            • 2020-11-21
            • 2020-11-25
            • 1970-01-01
            • 2020-06-05
            • 2016-05-17
            • 2015-11-17
            相关资源
            最近更新 更多