🐧 Команда wait Π² Linux с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

by itisgood

Wait – это ΠΊΠΎΠΌΠ°Π½Π΄Π° shell, которая ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ процСсса, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ состояниС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

Команда wait ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для оТидания ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° процСсса ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° задания ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΡ… статуса Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ большого ΠΏΠΎΡ‚ΠΎΠΊΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π² этом случаС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Wait Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ модуля.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° wait

Команда wait, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для наблюдСния Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ процСссом, зависит ΠΎΡ‚ состояния Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ процСсса ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ статус Π²Ρ‹Ρ…ΠΎΠ΄Π°.

НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° процСсса 13245, Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β«ΠΆΠ΄Π°Ρ‚ΡŒ 13245Β», ΠΊΠΎΠ³Π΄Π° процСсс 13245 Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ оТидания, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΡƒΡŽ значСния 13245 состояния Π²Ρ‹Ρ…ΠΎΠ΄Π°.

– wait PID (PID – ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ).
– wait JID (JID – ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ задания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠΉ wait, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² wait Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ срСдС выполнСния ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ).

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ состояния Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ оТидания зависит ΠΎΡ‚ послСднСго ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ PID / JID.

Если ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ процСсс Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π½Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, состояниС Π²Ρ‹Ρ…ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ большС 128.

Команда оТидания Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 0, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π±Π΅Π· Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ процСсса, ΠΈ всС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ процСсса, извСстныС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅, Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹.

Если ΠΊΠΎΠΌΠ°Π½Π΄Π° wait ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 1 Π΄ΠΎ 126.

Если послСдний ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса нСизвСстСн, ΠΊΠΎΠΌΠ°Π½Π΄Π° оТидания Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 127.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ wait

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ нСсколько скриптов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° wait.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 1 – скрипт с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ wait

Π£ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° скрипта с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Β«foo.shΒ» ΠΈ Β«bar.shΒ».

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Β«Foo.shΒ» Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ числа ΠΎΡ‚ 1 Π΄ΠΎ 5, Π° скрипт Β«bar.shΒ» Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ foo.sh ΠΈ запускаСт Π΅Π³ΠΎ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ PID для foo.sh ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, послС Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½Π°Ρ‡Π½ΠΈΠ½Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» ‘bar.sh’ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ – foo.sh

#!/bin/bash
for i in 1 2 3 4 5
do
      echo β€œfoo.sh – Looping … number $i”
done

Π‘ΠΊΡ€ΠΈΠΏΡ‚ – bar.sh

#!/bin/bash
echo β€œStarted bra.sh”
echo β€œStarted foo.sh”
./foo.sh &
pid=$!
wait $pid
echo β€œCompleted foo.sh”

for I in 1 2 3 4 5
do
        echo β€œbar.sh – Looping … number $i”
done

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Started bar.sh
Started foo.sh
foo.sh – Looping .. number 1
foo.sh – Looping .. number 2
foo.sh – Looping .. number 3
foo.sh – Looping .. number 4
foo.sh – Looping .. number 5
Completed foo.sh
bar.sh – Looping .. number 1
bar.sh – Looping .. number 2
bar.sh – Looping .. number 3
bar.sh – Looping .. number 4
bar.sh – Looping .. number 5
$

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2 – Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π±Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ wait

Π£ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° скрипта с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Β«foo.shΒ» ΠΈ Β«bar.shΒ».

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ‘foo.sh’ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ числа ΠΎΡ‚ 1 Π΄ΠΎ 5, Π° скрипт bar.sh Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ foo.sh ΠΈ запускаСт Π΅Π³ΠΎ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ foo.sh ΠΈ выполнСния ΠΎΠ±ΠΎΠΈΡ… скриптов.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ – foo.sh

#!/bin/bash
for i in 1 2 3 4 5
do
      echo β€œfoo.sh – Looping … number $i”
done

Π‘ΠΊΡ€ΠΈΠΏΡ‚ – bar.sh

#!/bin/bash
echo β€œStarted bar.sh”
echo β€œStarted foo.sh”
./foo.sh &
echo β€œCompleted foo.sh”

for i in 1 2 3 4 5
do
        echo β€œbar.sh – Looping … number $i”
done

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Started bar.sh
Started foo.sh
Completed foo.sh
bar.sh – Looping .. number 1
bar.sh – Looping .. number 2
bar.sh – Looping .. number 3
bar.sh – Looping .. number 4
bar.sh – Looping .. number 5
Completed bar.sh
$
foo.sh – Looping .. number 1
foo.sh – Looping .. number 2
foo.sh – Looping .. number 3
foo.sh – Looping .. number 4
foo.sh – Looping .. number 5
$

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 3 – Π‘ΠΊΡ€ΠΈΠΏΡ‚ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ wait ΠΈ статусом Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ‘bar.sh’ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ foo.sh ΠΈ запустит Π΅Π³ΠΎ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ PID Ρ„Π°ΠΉΠ»Π° foo.sh ΠΈ доТдСтся Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, послС Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ запустится Ρ†ΠΈΠΊΠ» bar.sh ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ.

НаконСц, ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π° скрипта foo.sh

Π‘ΠΊΡ€ΠΈΠΏΡ‚ – foo.sh (статус Π²Ρ‹Ρ…ΠΎΠ΄Π° = 0)

Π‘ΠΊΡ€ΠΈΠΏΡ‚ – foo.sh

#!/bin/bash
for i in 1 2 3 4 5
do
      echo β€œfoo.sh – Looping … number $i”
done

Π‘ΠΊΡ€ΠΈΠΏΡ‚ – bar.sh

#!/bin/bash
./foo.sh &
BPID=$!
wait $BPID
stat=$?

if [ $stat –eq 0 ]
then
       echo β€œExit status - $stat”
else
        echo β€œExit status - $stat”
fi

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

foo.sh – Looping .. number 1
foo.sh – Looping .. number 2
foo.sh – Looping .. number 3
foo.sh – Looping .. number 4
foo.sh – Looping .. number 5
Exit status - 0
$

Π‘ΠΊΡ€ΠΈΠΏΡ‚ – foo.sh (статус Π²Ρ‹Ρ…ΠΎΠ΄Π° = NON ZERO)

Π‘ΠΊΡ€ΠΈΠΏΡ‚ – foo.sh

#!/bin/bash
for i in 1 2 3 4 5
do
      iiecho β€œfoo.sh – Looping … number $i”
done

Бкрипт– bar.sh

#!/bin/bash
./foo.sh &
BPID=$!
wait $BPID
stat=$?

if [ $stat –eq 0 ]
then
       echo β€œExit status - $stat”
else
        echo β€œExit status - $stat”
fi

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

./foo.sh: line 4: iiecho: command not found
./foo.sh: line 4: iiecho: command not found
./foo.sh: line 4: iiecho: command not found
./foo.sh: line 4: iiecho: command not found
./foo.sh: line 4: iiecho: command not found
Exit status – 127
$

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Wait ΠΈ Sleep – это систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, основанныС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ waitΒ  ΠΈ sleep.

Wait: ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ процСсс, ΠΎΠ½ освобоТдаСт всС рСсурсы, ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ процСссом, ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ выполнСния Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ процСсса.

Нам Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ notify, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этот процСсс Π·Π½Π°Π», Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ снова послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ процСсса.

Sleep: этот систСмный Π²Ρ‹Π·ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ…ΠΎΡ‡Π΅Ρ‚ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ процСсс. Он ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ рСсурсов Π΄ΠΎ истСчСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания ΠΈ снова запускаСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ процСсса. Π—Π΄Π΅ΡΡŒ процСсс ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π° протяТСнии всСго выполнСния. НапримСр, я Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² bash ΠΈ Ρ…ΠΎΡ‡Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² sleep, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ оТидаю Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для дальнСйшСго выполнСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ процСсса.

 

You may also like

4 коммСнтария

Egor 25.01.2021 - 16:12

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ, спасибо.
Но Π² ΠŸΡ€ΠΈΠΌΠ΅Ρ€ -1 Π½Π΅Ρ‚ строки Completed bar.sh Π² bar,sh.
Π° Π² Π²Ρ‹Π²ΠΎΠ΄ Π΅ΡΡ‚ΡŒ.

Reply
itisgood 25.01.2021 - 16:47

Бпасибо, ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠ»ΠΈ!

Reply
NoName 24.04.2021 - 19:52

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 2:
– bra.sh вмСсто bar.sh
– I большая, вмСсто i малСнькая.

МнС Π½Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ ΡΡ‚Π°Ρ‚ΡŒΡ. Но ΠΏΠΈΡˆΠΈΡ‚Π΅ дальшС, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅.

Reply
itisgood 26.04.2021 - 13:19

спасибо, ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠ» – всС ΠΎΡˆΠΈΠ±Π°ΡŽΡ‚ΡΡ πŸ™‚

Reply

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ для Egor Cancel Reply