ctrl+c只能关掉一个node服务

在windows 环境 git bash操作中如下问题:
练习first-app,用express搭建一个服务的操作:
<p>我使用<code>npm start</code> 首次启动服务后台显示有两个node进程,<code>ctrl c</code>只能关掉一个服务 如果我再次重新启动服务显示 端口已经在使用,哪个没有关掉的node进程只能强制关掉 </p>

如果我使用<code>node ./bin/www </code> 首次启动服务 只会开一个进程并且正常的开关和重启都没问题 我想现在问题集中在为什么使用npm 会启动两个服务这个事情上

这个问题我在github上有关于这个问题的讨论时把git返回到旧的版本,还有就是写一个脚本

<code>#!/usr/bin/env bash</code>

<code>echo killing process on port $1</code>

<code>taskkill //PID netstat -aon | grep $1 | grep -P '(?=LISTENING).*' -o -m1 | grep -P '\d*' -o //F</code>

和alias的方法
删除打开了某个特定端口的进程

<code>alias killport='function _killport(){ lsof -n -i4TCP:$@ | grep LISTEN | awk "{print $2}" | xargs kill};_killport'</code>

用法:

<code>$ killport 3001</code>
这样占用 3001 端口的进程就被杀掉。
说实话我都试了,还没结果,这篇文章希望对同样问题的人有用,

以下都是cmd命令:(默认正在启用的端口号是3000)

可以查询电脑当前所有端口和端口对应的PID

<code>netstat -ano</code>

如果觉得这样端口太多麻烦可以直接:

<code>netstat -aon|findstr 3000</code>

如果想查看是哪个程序在占用整个端口

<code>task|findstr 3000</code>

如果想kill一个端口对应的进程直接使用:

<code>taskkill /pid 9872 /F</code>(加上F可以直接强制关掉)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • 初学Node.js,正好一前端朋友也闲来无事,咱俩就打算一起写个超级简单的Blog。他负责前端,我负责后台服务,完...
    写Blog不取名阅读 4,369评论 0 6
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 10,301评论 0 11
  • 前半生奔跑 后半生送别 一生奔跑 一生送别
    海莉hayley阅读 1,130评论 0 0
  • 今天是我每天一篇文章的第62篇。 今天想谈一谈差异化。差异化就是不同,是产品价格溢价的基础。 我发现当...
    很温暖阅读 3,382评论 0 1

友情链接更多精彩内容