Size: a a a

2021 June 15

Мл

Мастер ломастер... in pro.bash
Назрел еще один вопрос. Можно ли как то запустить программу пока выполняется другая программа? Например я оставил файл на загрузку в облако и пока он загружается выполняется скрипт, но как только он завершит загрузку выполнение скрипта прекратится
источник

∀lǝxǝʎ in pro.bash
либо следить за процессом загрузки по наличию процесса, постоянно его поля
либо можно сделать что-то вроде download && pkill -f third_party_script
источник

Мл

Мастер ломастер... in pro.bash
Например я запустил скрипт1 и пока он выполняется запускается скрипт2, но как только скрипт1 завершит работу, то завершится и работа скрипта2
источник

Мл

Мастер ломастер... in pro.bash
Т.е узнать его пид и ждать завершения?
источник

∀lǝxǝʎ in pro.bash
да, можно так, или в другую сторону как я показал через &&
всё зависит от ситуации в целом что и как удобнее делать и какова вообще конечная цель, может предполагаемый путь решения проблема изначально не очень
источник

Мл

Мастер ломастер... in pro.bash
Но ведь при && первая часть не всегда может завершиться корректно и вовсе не запустить то что идет после &&
источник

∀lǝxǝʎ in pro.bash
может, поставьте ; вместо &&
источник

Мл

Мастер ломастер... in pro.bash
Писал функцию которая "эмулирует" в терминале аналог крутящегося кружочка ожидания
источник

Мл

Мастер ломастер... in pro.bash
Ну например я запустил программу, пока она выполняется в терминал чтоб выводилось что то вроде статус бара
источник

∀lǝxǝʎ in pro.bash
м-м
ну тогда разумнее что бы этот "кружочек" мониторил интересующий его процесс
источник

Мл

Мастер ломастер... in pro.bash
Вот именно. Поэтому и интересует вопрос выше. Мне нужно чтоб кружочек "крутился" до завершения нужной программы. Т.е своеобразный аналог ожидания
источник

Лс

Лень с Самосознанием... in pro.bash
Есть вариант засунуть первую программу в функцию, а по завершению задавать некую переменную.
А дальше по коду в бесконечном цикле ждать появления этой переменной
источник

Лс

Лень с Самосознанием... in pro.bash
Хотя наблюдение за PID это надёжнее
источник

♚Inojelis in pro.bash
спасибо
источник

Мл

Мастер ломастер... in pro.bash
Спасибо за ответы
источник

∀lǝxǝʎ in pro.bash
угу, указываешь PID и полишь его существование через kill -0 $PID
источник

♚Inojelis in pro.bash
это чат про один только баш, или вообще юниксовые командные оболочки?
источник

♚Inojelis in pro.bash
описание и название чата разнятся
источник

🌚

🌚 YupiRex in pro.bash
делал когда-то похожее, устанавливал нужные пакеты и одновременно качал файл
Install(){
   Check_install jq wget procps
   [[ -n "$not_install" ]] && apt install -y "$not_install"
   Check_install apache2 default-mysql-server php php7.3-mysql cron
   [[ -n "$not_install" ]] && (apt -y install "$not_install") > /tmp/apt.log &
   bgapt=$!
   echo Downloading latest.tar.gz
   (wget -qO /tmp/latest.tar.gz https://wordpress.org/latest.tar.gz
   tar zxvf /tmp/latest.tar.gz -C /tmp) >/tmp/wget.log &
   bgwget=$!
   # Ожидаем окончания выполнения фоновых задач + прогрес бар
   progress=' -\|/' i=1
   while [[ -n "$(ps -p ${bgwget} -p ${bgapt} -o pid=)" ]]; do
       sleep 1
       echo -en "${progress:${i}:1} \\b\\b"
       i=$((i % 4 + 1))
   done
}
источник

🌚

🌚 YupiRex in pro.bash
следил за двумя процессами, когда они заканчивались продолжал выполнения скрипта
источник