Это может быть не лучшим ответом, но вы можете сделать tee script3.log &
(с амперсандом в конце), чтобы скрипт мог завершиться без зависания. У него действительно есть побочный эффект завершения сценария перед завершением script3.sh
.
тройник вызывает зависание скриптов bash
У меня есть скрипт, который вызывает ряд других скриптов установки
./script1.sh 2>&1 | tee script1.log<br> ./script2.sh 2>&1 | tee script2.log<br> ./script3.sh 2>&1 | tee script3.log<br>
Все они выглядят нормально до последнего, который вызывает пользовательский скрипт инициализации. Этот скрипт инициализации запускается daemon
как /usr/local/daemon
&. т.е. ставит это на задний план.
Объедините это с использованием, tee
и основной скрипт зависнет, так как финал tee
никогда не завершится.
Скрипт инициализации - это приложение .NET, работающее в режиме моно, поэтому я очень мало контролирую его. Если я не пользуюсь, tee
то все выглядит хорошо. Запуск последней команды из командной строки имеет тот же эффект.
Если бы кто-нибудь мог предложить способ сделать скрипт чистым, я был бы благодарен. На данный момент я переместил вызов сценария инициализации из script3 в родительский сценарий, и он работает нормально, но, конечно, он не зарегистрирован.
2 ответа на вопрос
Tee не выйдет изящно, пока не закроется stdout как родительского, так и дочернего процесса. Попробуйте перенаправить стандартный вывод демона
/usr/local/daemon > /dev/null 2>&1 &
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Как я могу "инвертировать" структуру каталогов?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux