rc.local не запускает второй скрипт, если первый - '/opt/lampp/lampp start'

У меня есть сценарий, чтобы остановить сетевой менеджер во время загрузки. Я сделал запись для этого в rc.local. это работает нормально. но на одном сервере установлен MySQL и rc.local уже имеет одну запись для запуска lampp. (/opt/lampp/lampp start).

после этого я сделал запись для моего сценария. Теперь rc.local выглядит так:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/opt/lampp/lampp start
sh /etc/startupscript.sh
exit 0

во время загрузки выполняется первая запись и журналы в boot.log:


Пропуск профиля в /etc/apparmor.d/disable: usr.sbin.rsyslogd * Запуск профилей AppArmor [ OK ] Запуск XAMPP для Linux 5.6.24-1... XAMPP: Запуск Apache... ок. XAMPP: запуск MySQL... хорошо. XAMPP: Запуск ProFTPD... хорошо. Запуск XAMPP для Linux 5.6.24-1... XAMPP: Запуск Apache... сбой. XAMPP: другой веб-сервер уже запущен. XAMPP: запуск MySQL... хорошо.

XAMPP: запуск ProFTPD... уже запущен.

и выход. вторая строка sh /etc/startupscript.sh не выполняется.

Если я выполняю rc.local вручную, оба сценария запускаются успешно. заранее спасибо.

1 ответ

Я получил ответ.. в первой строке rc.local есть -e, означающее "выход при ошибке", я удаляю его, тогда все сценарии запускаются успешно. и не влияют друг на друга.

Другие вопросы по тегам