Intereting Posts
Раздражающий курсор в Eclipse Kepler В чем разница между Ubuntu существующим ядром и ядром rt? Профили gnome-terminal не загружаются Как установить быстрые пакеты в Ubuntu 16.04 Как добавить и изменить элементы в моем Меню приложений? Не удалось обновить проект Gradle – Android Studio 2.2 Есть ли способ полностью удалить «недавно использованные» из открытых и сохраненных диалогов? Команда gibberish не найдена при запуске терминала bash Как я могу заставить ПК издавать звуковой сигнал, когда сетевой кабель отключен? Как я могу запретить каталоги, созданные с «привязкой», появляться на «Устройствах» на nautilus? Могу ли я заставить пусковую установку не расширять всю высоту экрана? Какие каталоги следует избегать при создании резервной копии? Попытка установить Erlang на Ubuntu 12.04, ошибка с make install Проблемы при попытке воспроизведения DVD-диска Как выбрать VGA при настройке X-сервера?

Как остановить бесконечный цикл while в фоновом режиме?

Есть ли возможность позволить бесконечному циклу while, когда он работает в фоновом режиме как функция, останавливается и начинает работать в любой момент с локальной переменной? Я уже пробовал много вариантов, только я не смог найти опрятного решения. Единственный способ заставить его работать – это прочитать внешний текстовый файл из цикла while. А в указанных точках программы записывается 0 или 1 в этот текстовый файл.

Что я сейчас делаю:

#!/bin/bash intr(){ while true # function endless while loop start do sleep 0.5 # execute function every x time var1=`grep "1" 0or1.txt` # read file 0or1.txt if [ -n "$var1" ] ; then # if text =1 execute function, # do some magic.. fi done } # end function intr & # execute function as bg process #some code # located some where in the script echo "1" > 0or1.txt # write 1 to start function #some code # this should be a local variable?? #some code # located some where in the script echo "0" > 0or1.txt # write 0 to stop function #some code # this should be a local variable??