私の問題を説明する前に、私は比較的Linuxに慣れていないことに言及する必要があるので、私の無知を許してください。
私は古いDell E10Sを専用のMinecraftサーバーとして使用します。 Linuxで動作しているMinecraftサーバーを正常にインストールしました(ここでダウンロードしてください)。
rc.localファイルにコマンドを追加して、システムの起動時にサーバーを起動させることもできました/etc/rc.local
。
私はそれに書きましたrc.local
:
#!/bin/bash
sleep 1m
cd /home/haven/dw-server/
sudo ./start.sh
これはうまくいきますが、sshを介してログインすると、サーバーがバックグラウンドで実行され、Windowsで実行できるようにサーバーコマンドを入力できなくなります。
私のコンピュータにSSHに接続するときにサーバーのコマンドラインを呼び出す方法を知っている人はいますか?
私はfg
コマンドを試しました。
ベストアンサー1
まず、起動スクリプトを(UID 0)として実行する必要はなく、sudo
実行しないでください。/etc/rc.local
root
次に、残りの開始アクティビティが実行されるようにスクリプトを終了する必要があります。次のようにサーバーをバックグラウンドに配置します。
#!/bin/bash
cd /home/haven/dw-server
nohup bash -c "sleep 1m;./start.sh" >/dev/null 2>&1 &
これにより、サーバーがバックグラウンドに切り替わり、デーモンプロセスに切り替わり、出力およびエラーメッセージが削除されます。また、sleep 1m
起動をより早く再開できるように、バックグラウンドに配置します。