Відмінності між версіями «Конвеєри (pipe)»
Матеріал з Wiki TNEU
(Створена сторінка: Конвеєр в UNIX - деяка величина процесів , для яких виконано перенаправлення вводу-виводу: т...) |
Donserg (Обговорення • внесок) м (Захист на Конвеєри (pipe) встановлено ([edit=sysop] (безстроково) [move=sysop] (безстроково))) |
||
(Одна проміжна версія одного користувача не показана) | |||
Рядок 7: | Рядок 7: | ||
Приклад конвеєра: | Приклад конвеєра: | ||
− | $ ps aux | grep | + | $ ps aux | grep root |
− | Дана команда виведе номера процесів, у назві яких зустрічається підрядок « | + | Дана команда виведе номера процесів, у назві яких зустрічається підрядок « root » |
Поточна версія на 23:17, 20 вересня 2012
Конвеєр в UNIX - деяка величина процесів , для яких виконано перенаправлення вводу-виводу: те, що виводить на потік стандартного висновку попередній процес, потрапляє в потік стандартного введення наступного процесу. Запуск конвеєра реалізований з допомогою системного виклику pipe (). Код повернення конвеєра буде коду повернення останньої команди. В bash можна змінити цю поведінку, включивши опцію pipefail:
set-o pipefail
після чого конвеєр поверне нуль, якщо всі команди завершилися вдало, або код останньої команди, яка повернула не нуль. Приклад конвеєра:
$ ps aux | grep root
Дана команда виведе номера процесів, у назві яких зустрічається підрядок « root »