猿问

使用 Freenas 11.2 我的 java 进程在离开监狱外壳时关闭

在过去的两周里,我一直在忙于弄清楚如何将我的 minecraft 服务器设置到我的 freenas 服务器上。

当我进入监狱手动输入我的启动命令时,我能够让它启动并稳定运行:

cd /root/Minecraft_Server

java -Xmx4096M -Xms4096M -jar forge-1.12.2-14.23.4.2757-universal.jar

然后关闭外壳。

我试图自动化这个命令并将其放入 crontab 和所有内容中的 sh 文件中,但没有奏效,所以我决定升级到 11.2 看看是否有任何解决方案。

现在主要问题已经是,如果我尝试在 shell 中手动运行我的命令,然后我离开 webui,它只会关闭服务器,这与 11.1 freenas 不同。

有人在这里有更多想法吗?

在与服务器相同的位置,我有一个带有此命令的 minecraft.sh 脚本。如果我手动运行脚本它可以工作,但如果我使用 crontab 它也不会启动它。我使用的corntab命令是:

@reboot /root/Minecraft_Server/minecraft.sh

我也试过直接输入命令,但这也没用。

我什至尝试了 exec.poststart 但是当我将它定向到 /root/minecraft_Server/minecraft.sh 它也不会启动,它甚至不会再运行监狱


慕尼黑5688855
浏览 110回答 2
2回答

杨__羊羊

在 relog 上使用“screen java ...”到 shell 执行 screen -x 以进入服务器 shell

翻翻过去那场雪

您可以将 Java 命令配置为在 jail 启动时启动的服务。这样,Java 服务器就不依赖于 shell 或 webui。基本上,创建一个usr/local/etc/rc.d/minecraftd包含以下脚本的文件:#!/bin/sh## PROVIDE: minecraftd# REQUIRE: LOGIN DAEMON NETWORKING mountcritlocal# KEYWORD: shutdown## Use the following variables to configure the minecraft server. For example, to# configure the ON/OFF knob variable:# sysrc minecraftd_enable="YES"## minecraftd_enable="YES"# minecraftd_user_dir="/root/minecraft"# minecraftd_jar_path="/root/minecraft/server.jar"# minecraftd_java_opts="-Xms512M -Xmx1024M". /etc/rc.subrname=minecraftdrcvar=`set_rcvar`pidfile=/var/run/minecraftd.pidload_rc_config $namestart_cmd="${name}_start": ${minecraftd_enable="NO"}: ${minecraftd_user_dir="/root/minecraft"}: ${minecraftd_jar_path="/root/minecraft/server.jar"}: ${minecraftd_java_opts="-Xms512M -Xmx1024M"}minecraftd_start() {    if [ -e $pidfile ]; then        echo "$name already running."    else        echo "Starting $name..."        /usr/sbin/daemon -f -p $pidfile \            /usr/local/bin/java -Duser.dir=$minecraftd_user_dir \            $minecraftd_java_opts \            -jar $minecraftd_jar_path nogui        echo "$name started."    fi}run_rc_command $1然后将服务配置为在启动时启动:sysrc minecraftd_enable="YES"并重新启动你的监狱。
随时随地看视频慕课网APP

相关分类

Java
我要回答