/etc/init.d
起動時に実行されるTeamSpeak3サーバー用の起動スクリプトがあります。
#! /bin/sh ### 初期化情報の開始 #提供:ts3 #必須起動:$ network mysql #必須停止:$ network #基本スタート:2 3 4 5 #基本停止:0 1 6 #簡単な説明:TeamSpeak3サーバーデーモン #説明:TeamSpeakサーバーデーモンの起動/停止/再起動 ### 初期化情報の終了 セット パス=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="TeamSpeak3 サーバー" 名前=teamspeak3 - サーバー ユーザー=teamspeak3 ディレクトリ=/opt/teamspeak3 - サーバー オプション=inifile=ts3server.ini DAEMON=$DIR/ts3server_startscript.sh #PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME #パッケージが削除された場合は正常に終了します。 テスト -x $DAEMON || 睡眠2 sudo -u $USER $DAEMON $1 $OPTIONS
これが起こるには、次のものが必要です。
./MyScript
TS3ディレクトリにある即時終了スクリプトを実行します。- しばらくお待ちください
- 引き続き実行される実際のデーモンを実行します。
私はUnixスクリプトに精通していません。サーバーを実行するためだけに必要です。また、最新のUbuntuを実行していると言うこともできます。
よろしくお願いします、krejcar25
答え1
DAEMON
簡単です。スクリプトの最後の行でTS3コマンドを実行する前に、sleep
コマンドを5秒に設定してください。たとえば、スクリプトは次のようになります。
#! /bin/sh
### BEGIN INIT INFO
# Provides: ts3
# Required-Start: $network mysql
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: TeamSpeak3 Server Daemon
# Description: Starts/Stops/Restarts the TeamSpeak Server Daemon
### END INIT INFO
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="TeamSpeak3 Server"
NAME=teamspeak3-server
USER=teamspeak3
DIR=/opt/teamspeak3-server
OPTIONS=inifile=ts3server.ini
DAEMON=$DIR/ts3server_startscript.sh
#PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
sleep 2
#####################################################
$DIR/MyScript
sleep 5
#####################################################
sudo -u $USER $DAEMON $1 $OPTIONS
var は$DER
TS3 サービスディレクトリを表します。/opt/teamspeak3-server