后台运行
如何保持服务器在 Linux 服务器中后台运行
Section titled “如何保持服务器在 Linux 服务器中后台运行”由于 Linux 的会话机制,在 SSH 断开连接之后手动启动的服务端会停止运行,而我们需要服务端保持后台运行。
方法一 screen (推荐)
Section titled “方法一 screen (推荐)”使用 screen 创建一个虚拟的窗口运行服务端,首先安装 screen,在终端输入:
确保你的系统上有 screen 包,没有的话安装它们:
bash apt-get install screen bash yum install screen bash pacman -Sy screen screen 的基础指令:
screen -ls # 列出所有的 screenscreen -S xxx # 创建一个名叫 xxx 的虚拟窗口 (推荐以每个子服务器命名)screen -r xxx # 进入 xxx 虚拟窗口 (只能进入已创建且无人使用的 screen)screen -D xxx # 踢出正在使用 xxx 窗口的用户screen -S xxx -X quit # 删除 xxx 窗口 (在 screen 中输入 exit 也可以删除)在 screen 中启动服务端,在 screen 中时,按快捷键 Ctrl + A + D 即可返回原窗口。
推荐原因:后台运行的同时还可以在服务端控制台中查看日志,打指令
方法二 面板 (推荐)
Section titled “方法二 面板 (推荐)”例如 MCSManager 等面板,简单无脑可视化
方法三 systemd
Section titled “方法三 systemd”使用 vim 命令创建 mc.service 单元文件
vim ~/.config/systemd/user/mc.service文件中的内容按以下配置
[Unit]Description=Minecraft ServerAfter=network.target
[Service]WorkingDirectory=这里填工作目录路径ExecStart=这里填启动命令ExecStop=/bin/kill -SIGINT $MAINPIDRestart=on-failure
[Install]WantedBy=multi-user.target配置完成后输入以重新加载:
systemctl daemon-reload然后启动服务器并设置开机启动,先后输入:
systemctl --user start mc.servicesystemctl --user enable mc.service可以通过 systemctl --user status mc.service 查看服务运行状态。
优点:可以实现自动重启,开机自启等操作
缺点:无法进入控制台打指令
方法四 nohup 和 &
Section titled “方法四 nohup 和 &”&:在启动时后面加一个 &
例如:./start.sh &
nohup:在启动时前面加上这个
例如:nohup ./start.sh > run.log 2>&1 &
详细参数: