Linux команди

Изчакайте командата в Linux

Изчакайте командата в Linux
изчакайте е вградена команда на Linux, която чака за завършване на всеки работещ процес. изчакайте команда се използва с определен идентификатор на процеса или идентификатор на заданието. Когато в обвивката се изпълняват множество процеси, тогава само текущият идентификатор на процеса на последната команда ще бъде известен от текущата обвивка. Ако този път се изпълни команда за изчакване, тя ще бъде приложена за последната команда. Ако с командата за изчакване не е даден идентификатор на процес или идентификатор на работа, той ще изчака всички текущи дъщерни процеси да завършат и връща състоянието на изход.

Стойността на състоянието на изход на командата за изчакване зависи от командата, посочена от последния посочен операнд. Когато някой процес прекрати необичайно, тогава състоянието на излизане ще бъде по-голямо от 128 и ще се различава от стойностите на състоянието на изход на други команди. изчакайте команда излиза със стойността 0, когато извиква без операнди и всички идентификатори на процеса са известни от текущата обвивка са прекратени. Ако командата за изчакване открие някаква грешка, тя връща всяка стойност от 1 до 126. Ако последният идентификатор на процеса е неизвестен, командата за изчакване излиза със стойност 127. Как можете да използвате командата за изчакване в Linux е показано в този урок.

Пример-1: Използване на команда за изчакване за множество процеси

След изпълнението на следния скрипт, два процеса ще се изпълняват във фонов режим и идентификаторът на процеса на първата команда echo се съхранява в променливата $ process_id. Когато командата за изчакване се изпълни с $ process_id, следващата команда ще изчака изпълнението на задачата на първата ехо команда. Втората команда за изчакване се използва с '$!'и това показва идентификатора на процеса на последния стартиращ процес. '$?'се използва за четене на стойността на състоянието на командата за изчакване.

#!/ bin / bash
ехо "тестване команда за изчакване1" &
process_id = $!
ехо "тестване команда за изчакване2" &
изчакайте $ process_id
echo Задача 1 излезе със статус $?
изчакайте $!
echo Job 2 излезе със статус $?

Изход:

$ bash wait1.ш

Пример-2: Тествайте командата за изчакване след използване на команда за убиване

В следващия скрипт командата за изчакване се изпълнява след прекратяване на процеса. Командата за заспиване се изпълнява като фонов процес, а командата kill се изпълнява, за да прекрати текущия процес. След тази команда за изчакване се изпълнява с идентификатора на процеса на прекратения процес. Резултатът ще покаже идентификатора на процеса на прекратения процес.

#!/ bin / bash
ехо "Тестване на команда за изчакване"
спи 20 &
pid = $!
убий $ pid
изчакайте $ pid
echo $ pid беше прекратен.

Изход:

$ bash wait2.ш

Пример-3: Проверете стойността на състоянието на изхода

В следващия скрипт функцията проверете () се извиква от две стойности на аргумента. В началото на урока се обсъжда, че ако командата за изчакване бъде изпълнена успешно, изходната стойност ще бъде 0 и ако командата за изчакване открие грешка, тя ще върне всяка стойност между 1 и 126. След като стартирате скрипта, ако предадете 0 като втора стойност на аргумента, командата за изчакване се прекратява успешно и ако предадете стойност, по-голяма от нула, тя завършва неуспешно.

#!/ bin / bash
проверка на функцията ()

ехо "Сън за $ 1 секунди"
сън $ 1
излезте $ 2

проверете $ 1 $ 2 &
b = $!
echo "Проверка на състоянието"
изчакайте $ b && echo OK || ехо НЕ е ОК

Изход:

$ bash wait3.sh 3 0
$ bash wait3.sh 3 5

Надявам се, този урок ще ви помогне да научите правилно командата use use. Има още една команда в Linux, наречена сън да изчакате определен брой пъти, но има някои разлики между тези команди. Ако се интересувате от командата за заспиване, можете да посетите тази връзка.

Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...
Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...
Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...