node 程序占用处理方法与后台运行方法

程序占用

如果你在关闭终端后重新运行 node server.js,但提示端口 3000 被占用,说明之前的服务器进程仍然在后台运行。以下是解决方法:


1. 检查后台运行的 Node.js 进程

首先,检查是否有 Node.js 进程正在占用端口 3000

在 Linux/macOS 上

BASH

lsof -i :3000

输出示例:

TEXT

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node 12345 user 20u IPv6 12345 0t0 TCP *:3000 (LISTEN)

5

2. 终止占用端口的进程

找到占用端口的进程 ID(PID),然后终止该进程。

BASH

kill -9 <PID>

例如,如果 PID 是 12345,运行:

 

BASH

kill -9 12345


3. 使用 pm2 

pm2 和其他依赖包要求 Node.js 版本至少为 12.0.0 或更高。如果版本过低需要升级

  1. 使用 n 模块升级 Node.js:

    BASH

sudo npm install -g

n sudo n stable

2.检查是否版本已经更新

   node --version

3.如果没有显示更新,刷新当前shell的环境变量

        hash -r


4.再次验证版本

        node --version

启动之前查看当前端口是否占用,如果占用删除进程

lsof -i :3000
kill -9 PID

如果你使用 pm2  启动了 Node.js 服务器,可以通过它们的命令重新启动服务器。

使用 pm2
  1. 查看所有运行中的进程:
     

    BASH

    pm2 list

  2. 停止并删除进程:
     

    BASH

    pm2 delete server

  3. 重新启动服务器:
     

    BASH

    pm2 start server.js


4. 检查服务器是否已启动

在终止占用端口的进程后,重新运行 node server.js,确保服务器成功启动。

命令

BASH

node server.js

检查方法:
  • 如果服务器成功启动,你应该会看到类似以下的输出:
     

    TEXT

    Server is running on http://localhost:3000

 Node.js 服务器在后台运行:


1. 使用 & 符号在后台运行

你可以在命令末尾添加 & 符号,将 Node.js 服务器放到后台运行。

命令:
 

BASH

node server.js &

说明:
  • 这样即使你关闭终端,服务器仍然会在后台运行。
  • 你可以通过 jobs 命令查看后台运行的任务。

2. 使用 nohup 命令

nohup 命令可以让进程在终端关闭后继续运行。

命令:
 

BASH

nohup node server.js &

说明:
  • 输出会被重定向到 nohup.out 文件中。
  • 即使你关闭终端,服务器仍然会保持运行。

3. 使用 screen 或 tmux 工具

screen 和 tmux 是终端多路复用工具,可以让你在后台运行长时间的任务。

安装 screen

BASH

sudo apt install screen

使用 screen
  1. 创建一个新的 screen 会话:
     

    BASH

    screen -S myserver

  2. 在 screen 会话中启动 Node.js 服务器:
     

    BASH

    node server.js

  3. 按 Ctrl + A 然后按 D,退出 screen 会话,但服务器仍然在后台运行。
  4. 重新连接到 screen 会话:
     

    BASH

    screen -r myserver


4. 使用 pm2 进程管理工具

pm2 是一个强大的 Node.js 进程管理工具,支持自动重启、日志管理等功能。

安装 pm2
 

BASH

npm install -g pm2

使用 pm2 启动服务器:
 

BASH

pm2 start server.js

其他常用命令:
  • 查看运行中的进程:
     

    BASH

    pm2 list

  • 停止服务器:
     

    BASH

    pm2 stop server

  • 删除服务器:
     

    BASH

    pm2 delete server


5. 使用 forever 工具

forever 是另一个简单的 Node.js 进程管理工具。

安装 forever
 

BASH

npm install -g forever

使用 forever 启动服务器:
 

BASH

forever start server.js

其他常用命令:
  • 查看运行中的进程:
     

    BASH

    forever list

  • 停止服务器:
     

    BASH

    forever stop server.js

以下是让 Node.js 服务器在后台运行的方法:

方法命令示例
后台运行 (&)node server.js &
使用 nohupnohup node server.js &
使用 screenscreen -S myserver
使用 pm2pm2 start server.js
使用 foreverforever start server.js

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15127.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java数据结构 | TreeMap 和 TreeSet

TreeMap 和 TreeSet 1. 搜索树1.1 概念1.2 搜索树的查找、插入、删除思路及代码1.2.1 查找1.2.2 插入1.2.3 删除&#xff08;难点&#xff09; 1.3 二叉搜索树的性能分析 2. Map 和 Set2.1 Map 接口2.1.1 Map.Entry<K,V>2.1.2 Map的常用方法 2.2 Set 接口2.2.1 Set 的常用…

智能理解 PPT 内容,快速生成讲解视频

当我们想根据一版 PPT 制作出相对应的解锁视频时&#xff0c;从撰写解锁词&#xff0c;录制音频到剪辑视频&#xff0c;每一个环节都需要投入大量的时间和精力&#xff0c;本方案将依托于阿里云函数计算 FC 和百炼模型服务&#xff0c;实现从 PPT 到视频的全自动转换&#xff0…

小鹅通首页网页开发

一、小鹅通首页开发 二、代码&#xff1a; index.html: <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title&…

离散型变量的 PSI-群体稳定性指标计算

文章目录 PSI-群体稳定性指标(离散型)单个指标计算所有指标计算 PSI-群体稳定性指标(离散型) 单个指标计算 代码 import pandas as pddf pd.read_csv(/Users/mengzhichao/Desktop/文件/图表/小微企业用电量数据.csv)X_train df.sample(n7000) X_test df.sample(n3000)计算单…

STM32G474--Whetstone程序移植(单精度)笔记

1 准备基本工程代码 参考这篇笔记从我的仓库中选择合适的基本工程&#xff0c;进行程序移植。这里我用的是stm32g474的基本工程。 使用git clone一个指定文件或者目录 2 移植程序 2.1 修改Whetstone.c 主要修改原本变量定义的类型&#xff0c;以及函数接口全部更换为单精度…

【电机控制器】STC8H1K芯片——低功耗

【电机控制器】STC8H1K芯片——低功耗 文章目录 [TOC](文章目录) 前言一、芯片手册说明二、IDLE模式三、PD模式四、PD模式唤醒五、实验验证1.接线2.视频&#xff08;待填&#xff09; 六、参考资料总结 前言 使用工具&#xff1a; 1.STC仿真器烧录器 提示&#xff1a;以下是本…

Neo4j图数据库学习(二)——SpringBoot整合Neo4j

一. 前言 本文介绍如何通过SpringBoot整合Neo4j的方式&#xff0c;对图数据库进行简单的操作。 Neo4j和SpringBoot的知识不再赘述。关于Neo4j的基础知识&#xff0c;有兴趣可以看看作者上一篇的文章&#xff1a;Neo4j图数据库学习(一)——初识CQL 二. 前置准备 新建SpringBo…

【后端开发】系统设计101——Devops,Git与CICD,云服务与云原生,Linux,安全性,案例研究(30张图详解)

【后端开发】系统设计101——Devops&#xff0c;Git与CICD&#xff0c;云服务与云原生&#xff0c;Linux&#xff0c;安全性&#xff0c;案例研究&#xff08;30张图详解&#xff09; 文章目录 1、DevopsDevOps与SRE与平台工程的区别是什么&#xff1f;什么是k8s&#xff08;Ku…

01_Machine Vision_LSI及傅立叶变换

outline 图像分解和线性时不变系统二维傅立叶变换图像采样 图像分解和线性时不变系统 图像数学表达 图像由基本的像素点组成&#xff0c;如果将每一个像素点看作一个脉冲&#xff0c;则每个像素点的值可以看作是脉冲的幅值&#xff0c;这样图像就可以看作是由一系列脉冲组成…

elasticsearch实战三 elasticsearch与mysql数据实时同步

一 介绍 elasticsearch数据不是一直不变的&#xff0c;需要与mysql、oracle等数据库的数据做同步。 本博客里涉及到的项目地址&#xff1a;https://www.aliyundrive.com/s/7bRWpTYsxWV 方案一&#xff1a; 同步调用&#xff0c;即操作mysql数据后&#xff0c;接着操作elastic…

智能化食品安全管理:AI视频监控在大型商场的技术方案

前言 在卖场中&#xff0c;尤其是熟食区&#xff0c;AI视频监控的应用对于食品安全至关重要。通过AI视频监控系统&#xff0c;卖场可以实时监测食品处理环节中的每一个细节&#xff0c;从员工的个人防护到清洁操作&#xff0c;再到区域管理&#xff0c;全面提升食品安全管理的…

分析模式应用――帐务模式02

Party 模式中的层次结构模型支持多种灵活的层次结构&#xff0c;但这里我们只要关心上下级的包含关系就可以了&#xff0c;参加结算的称为结算实体BalanceEntity&#xff0c; 不可再拆分的称为LeafEntity&#xff0c; 可以包含下级结算实体的称为CompositeEntity&#xff0c;因…

什么是网络安全

1) 什么是网络安全 作为程序员&#xff0c;主要是面向产品的安全的问题。比如sql注入&#xff0c;xss&#xff0c;csrf&#xff0c;cookie窃取等等&#xff0c;都值得我们去思考。保证网站运行正常&#xff0c;客户数据安全。 2) sql注入 简单的说&#xff0c;就是利用表单提…

2025年软件测试五大趋势:AI、API安全、云测试等前沿实践

随着软件开发的不断进步&#xff0c;测试方法也在演变。企业需要紧跟新兴趋势&#xff0c;以提升软件质量、提高测试效率&#xff0c;并确保安全性&#xff0c;在竞争激烈的技术环境中保持领先地位。本文将深入探讨2025年最值得关注的五大软件测试趋势。 Parasoft下载https://…

等级保护2.0|网络安全服务

等级保护2.0|网络安全服务 定义 对于国家秘密信息、法人和其他组织及公民专有信息以及公开信息的存储、传输、处理这些信息系统分等级实行安全保护&#xff0c;对信息系统中发生的信息安全时间分等级响应、处置。 思想 对信息安全实行等级化保护和等级化管理 目标 突出重…

Spatial Branching for Conic Non-Convexities in Optimal Electricity-Gas Flow

摘要—本文提出了一种基于几何的空间分支策略&#xff08; spatial branching strategy&#xff09;&#xff0c;用于解决集成电力-燃气系统中的圆锥非凸方程&#xff08; conic non-convex equations&#xff09;。所提出的策略嵌入在空间分支定界算法中&#xff0c;以求解最优…

ChunkKV:优化 KV 缓存压缩,让 LLM 长文本推理更高效

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

IDEA编写SpringBoot项目时使用Lombok报错“找不到符号”的原因和解决

目录 概述|背景 报错解析 解决方法 IDEA配置解决 Pom配置插件解决 概述|背景 报错发生背景&#xff1a;在SpringBoot项目中引入Lombok依赖并使用后出现"找不到符号"的问题。 本文讨论在上述背景下发生的报错原因和解决办法&#xff0c;如果仅为了解决BUG不论原…

【Redis】redis 存储的列表如何分页和检索

博主介绍&#xff1a;✌全网粉丝22W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…

基于SpringBoot的线上历史馆藏管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…