You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows SSH断开后如何保持Minecraft服务器进程持续运行?

解决Windows SSH启动Minecraft服务器断开后进程终止的问题

嘿,我完全懂你的困扰——Windows不像Linux有原生的screen命令,但确实有几个实用的办法能让你的MC服务器在SSH断开后继续跑,下面给你详细拆解:

方案1:用CMD原生命令快速实现后台运行

这是最省心的原生方案,不用装任何额外工具。把你的启动命令改成这样就行:

start /B java -Xmx2G -Xms2G -jar server.jar nogui
  • /B参数会让Java进程在后台启动,不会新开CMD窗口
  • 执行完这个命令后,直接断开SSH会话就行,MC服务器会留在后台持续运行
  • 后续要查看日志或终止进程的话,得通过任务管理器找到对应的java.exe进程操作

方案2:用PM2管理进程(推荐)

PM2是跨平台的进程管理器,不仅能让进程后台存活,还能帮你管理日志、自动重启,特别适合MC这种需要长期运行的程序:

  1. 先安装Node.js(PM2依赖Node,不想装Node的话也可以用PM2的Windows独立包)
  2. 打开SSH的CMD窗口,全局安装PM2:
npm install pm2 -g
  1. 用PM2启动MC服务器:
pm2 start java --name "MCServer" -- -Xmx2G -Xms2G -jar server.jar nogui
  • --name "MCServer"给进程起个辨识度高的名字,方便后续管理
  • 之后可以用pm2 list查看运行状态,pm2 logs MCServer实时看服务器日志,pm2 stop MCServer停止服务
  • 就算断开SSH、甚至服务器重启,PM2都能让进程保持运行(提前配置pm2 startup就能实现开机自启)

方案3:用Windows任务计划程序创建后台任务

如果不想用命令行工具,也可以通过系统自带的任务计划程序来实现:

  1. 打开Windows「任务计划程序」,点击「创建任务」
  2. 「常规」标签页勾选「不管用户是否登录都要运行」,并选择「最高权限运行」
  3. 「触发器」标签页添加触发条件(比如手动触发,或者特定时间触发)
  4. 「操作」标签页设置启动程序:选择你的java.exe路径,添加参数:-Xmx2G -Xms2G -jar "你的服务器jar包完整路径" nogui
  5. 保存任务后,通过SSH执行schtasks /run /tn "你的任务名称"就能启动服务器,断开SSH后进程不会终止

额外小提示

有些SSH服务器(比如Bitvise)默认会在会话断开时终止所有子进程,你可以去管理界面检查下「终端」相关设置,把「会话终止时终止进程」的选项关掉,避免进程被强制结束

内容的提问来源于stack exchange,提问作者Flam3rboy

火山引擎 最新活动