LINUX.ORG.RU
ФорумAdmin

Pipe limit

 


0

2

Написал длинную команду со множеством конвейеров (пайпов) и она не работает. ```quote tailf /etc/hosts | grep 127 | grep localhost ``` Как я понял есть лимит на пайпы, а есть ли где настройка для его повышения?

В Linux'e нету ограничения на количество используемых пайпов (есть только лимит на объем передаваемой через пайп информации). Он по своей сути перенаправляет stdout предыдущего за ним процесса в stdin следующего, при этом не порождая для себя отдельных процессов.

А что не именно не работает? В консольку пишет что? Проблема в самой команде, результат получить надо какой? Почему tailf?

avernus
()

И если я правильно понял задачу (просто выбрать из /etc/hosts строку содержащую 127 и localhost) то зачем городить 3 команды?

grep '127.*localhost' /etc/hosts
avernus
()

tailf /etc/hosts

Это команда выводит 10 последних строк из /etc/hosts и ждёт, пока в файл не добавятся ещё данные. Как понимаешь, вряд ли что-то у тебя в системе добавляет данные в /etc/hosts. Поэтому тебе кажется, что ничего не происходит, а составная команда не завершается.

А если ещё среди десяти последних строк не было строк, содержащих одновременно «localhost» и «127», вывода на печать вообще никакого не будет.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

А если ещё среди десяти последних строк не было строк, содержащих одновременно «localhost» и «127», вывода на печать вообще никакого не будет.

Всё не так. И вообще, у TCа всё намного запущенней: Pipe

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.