在 Windows 服务器上自动运行程序
以下是让游戏服务器或机器人在 Windows 服务器上持续运行的方法。整理了关闭远程桌面窗口时的注意事项、停止后自动重新启动,以及服务器重启后自动运行等内容。
须先了解:“断开连接”和“注销”是不同的
- 用 X 按钮关闭 远程桌面窗口时,只会断开连接,服务器中的程序会继续运行。
- 如果在服务器中点击 开始 → 注销,您运行的程序会全部停止。
想让程序保持运行并退出时,请用窗口的 X 按钮关闭。
1. 停止后自动重新启动
创建 .bat 文件,让程序因错误停止后也能重新运行。在记事本中写入以下内容,将保存类型改为“所有文件”,保存为 start.bat。
@echo off
cd /d C:\myserver
:loop
java -Xmx4G -jar server.jar nogui
echo Server stopped. Restarting in 10 seconds...
timeout /t 10
goto loop
- 请将
C:\myserver改为程序所在的文件夹,将java ...这一行改为实际的运行命令。(例如:如果是 Node.js 机器人,则为node index.js) - 如果要彻底关闭,请关闭窗口,或按
Ctrl + C后输入Y。
2. 服务器重启后自动启动
服务器因 Windows 更新等原因重启后,如果没有人登录,程序不会重新启动。注册到任务计划程序后,服务器开机时就会自动运行。
- 从“开始”菜单打开 任务计划程序。
- 点击右侧的 创建任务。
- 常规 标签页
- 名称:容易识别的名称(例如:
我的服务器) - 选择 不管用户是否登录都要运行
- 勾选 使用最高权限运行
- 名称:容易识别的名称(例如:
- 触发器 标签页 → 新建 → 开始任务:启动时 → 确定
- 操作 标签页 → 新建
- 程序或脚本:上面创建的
C:\myserver\start.bat - 起始于:
C:\myserver(请务必填写。如果留空,程序经常会找不到文件)
- 程序或脚本:上面创建的
- 在 设置 标签页中,取消勾选 任务运行超过一定时间就停止的选项(默认值 3 天)。如果保持勾选,程序会在 3 天后停止。
- 点击确定,并输入服务器账户的密码。
用这种方式运行的程序不会在屏幕上显示窗口,而是在后台运行。可以在任务管理器的 详细信息 标签页中查找
java.exe、node.exe等,确认是否正在运行。如果要停止,请在任务计划程序中选择该任务并点击 结束。
如果想一边看窗口一边使用
如果是需要直接看着控制台窗口输入命令的程序,请将其注册为登录时运行。
Win + R→ 输入shell:startup→ 确定- 将
start.bat的快捷方式放入打开的文件夹中。(用鼠标右键拖放文件,然后选择“创建快捷方式”)
这种方式需要通过远程桌面登录后才会运行。如果服务器已重启,请连接一次。
参考
- 韩国时间、韩文设置请参考Windows 服务器韩语、韩国时间设置。
- 如果是需要从外部访问的程序,也请一并查看在防火墙中开放端口。