サーバーが起動するたびに.jarファイルを実行したいので(VPSを使用しています)、を使用してcrontabを編集しcrontab -e
、を追加しました@reboot bash /home/bash/startserver.sh
。しかし、スクリプトが機能するまでには至っていません。
これが私のスクリプトです:
#!/bin/bash
screen -S bukkit
cd $HOME/server
java -jar bukkit.jar
私が使用する必要がある理由screen
は、bukkit.jarを開始すると、そのプログラムに追加のコマンドを入力できるコンソールに移動するためです(ただし、このサイトのMinecraftとそのサーバーについては、すべて知っているはずですが、 、笑)、しかし、実行中に他のコマンドをrootとして、また他のプログラムのために実行できる必要があり、さらにPuTTYセッションを閉じる必要もあります。
唯一の問題は、このスクリプトを実行するとスクリーンセッションが作成されますが、IDが空白であるため、IDがに表示されないことscreen -ls
です。むしろ、私は/run/screen/S-root
IDを見つけるために行って、それから典型的なものscreen -X -S $name quit
を使わなければなりません。
多分これは不可能であるかもしれません、または多分これを行う簡単な方法があります(私はもっと単純にしたいと思います)、しかしこれがなぜうまくいかないのか理解できません。そして、これが可能であるscreen -S bukkit
場合、bashスクリプトを実行しているときにセッションに再参加することは可能ですか?(複数の質問だと思いますが、どうもありがとうございました!(括弧))