Запустить два сценария с помощью init.d

Если запустить оболочку из другой оболочки, внутреннюю можно приостановить. Скажите при использовании su и желании на мгновение вернуться к обычному пользователю:

user$ su
Password: ...
root# do something
root# suspend
user$ do something as the ordinary user again
user$ fg
root# ...

(Если вы это сделаете, не забудьте открыть привилегированную оболочку в фоновом режиме...)

Точно так же, если вы переходите в оболочку из какой-либо другой программы (команда ! в, например, less), вы все равно можете приостановить оболочку. Но я бы не ожидал, что многие другие программы будут хорошо справляться с этим, когда они запускают подпроцесс, который затем приостанавливается.

1
29.11.2016, 23:59
1 ответ

Просто запустите его перед командой, которая запускает 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

0
28.01.2020, 01:06

Теги

Похожие вопросы