Если запустить оболочку из другой оболочки, внутреннюю можно приостановить. Скажите при использовании su
и желании на мгновение вернуться к обычному пользователю:
user$ su
Password: ...
root# do something
root# suspend
user$ do something as the ordinary user again
user$ fg
root# ...
(Если вы это сделаете, не забудьте открыть привилегированную оболочку в фоновом режиме...)
Точно так же, если вы переходите в оболочку из какой-либо другой программы (команда !
в, например, less
), вы все равно можете приостановить оболочку. Но я бы не ожидал, что многие другие программы будут хорошо справляться с этим, когда они запускают подпроцесс, который затем приостанавливается.
Просто запустите его перед командой, которая запускает TS3 DAEMON
в последней строке вашего скрипта, затем установите команду 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
$ DER
var относятся к каталогу службы TS3 / opt / teampeak3-server