起動時にLinuxサーバーへのアクセスバックグラウンドプロセスが開始されました。

起動時にLinuxサーバーへのアクセスバックグラウンドプロセスが開始されました。

私の問題を説明する前に、私は比較的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.localroot

次に、残りの開始アクティビティが実行されるようにスクリプトを終了する必要があります。次のようにサーバーをバックグラウンドに配置します。

#!/bin/bash
cd /home/haven/dw-server
nohup bash -c "sleep 1m;./start.sh" >/dev/null 2>&1 &

これにより、サーバーがバックグラウンドに切り替わり、デーモンプロセスに切り替わり、出力およびエラーメッセージが削除されます。また、sleep 1m起動をより早く再開できるように、バックグラウンドに配置します。

おすすめ記事