Вопросы с тегом «file-descriptors»

74
Когда бы вы использовали дополнительный файловый дескриптор?

Я знаю, что вы можете создать дескриптор файла и перенаправить вывод на него. например exec 3<> /tmp/foo # open fd 3. echo a >&3 # write to it exec 3>&- # close fd 3. Но вы можете сделать то же самое без дескриптора файла: FILE=/tmp/foo echo a > "$FILE" Я ищу хороший пример...

58
> & - более эффективен, чем> / dev / null?

Вчера я прочитал этот комментарий, который говорит, что в оболочке (по крайней мере bash) >&-"имеет тот же результат, что и" >/dev/null. Этот комментарий фактически ссылается на руководство АБС как на источник информации. Но этот источник говорит, что >&-синтаксис «закрывает...

55
Насколько переносимы / dev / stdin, / dev / stdout и / dev / stderr?

Иногда мне нужно указать «путь-эквивалент» один из стандартных IO потоков ( stdin, stdout, stderr). Так как 99% времени я работаю с Linux, я просто собираюсь /dev/получить /dev/stdinи т. Д., И это « похоже, делает правильно». Но, с одной стороны, мне всегда было неловко по поводу такого обоснования...

34
Ограничения на количество файловых дескрипторов

Я пытаюсь установить 389-ds, и это дает мне это предупреждение: WARNING: There are only 1024 file descriptors (hard limit) available, which limit the number of simultaneous connections. Я понимаю о файловых дескрипторах, но не понимаю мягких и жестких ограничений. Когда я бегу cat...

32
Файловые дескрипторы и сценарии оболочки

Мне очень трудно понять, как использовать файловые дескрипторы в сценариях оболочки. Я знаю основы, такие как exec 5 > /tmp/foo Итак, fd 5 прикреплен к foo для записи. exec 6 < /tmp/bar … для чтения. exec 5>&- … Закрыть фд. Теперь, что это делает? #!/bin/bash exec 5 > /tmp/foo exec...

29
Порядок перенаправлений

Я не совсем понимаю, как компьютер читает эту команду. cat file1 file2 1> file.txt 2>&1 Если я понимаю, 2>&1просто перенаправьте стандартную ошибку на стандартный вывод. По этой логике команда выглядит следующим образом: объединить файлы file1и file2. отправить stdoutиз этой...

25
Как один и тот же fd в разных процессах может указывать на один и тот же файл?

Скажем, у меня есть процесс 1 и процесс 2 . Оба имеют дескриптор файла, соответствующий целому числу 4. Однако в каждом процессе дескриптор файла 4 указывает на совершенно другой файл в таблице открытых файлов ядра: Как это возможно? Разве файловый дескриптор не должен быть индексом записи в...

25
Как называется синтаксис bash '<(file content)'?

Этот ответ на Security StackExchange использует интересный синтаксис bash для генерации файла в строке: openssl req -new -x509 -nodes -newkey ec:<(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650 Этот бит особенно интересен: <(openssl ecparam -name secp384r1)...

25
Какова цель первого аргумента для выбора системного вызова?

От man select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds - дескриптор файла с наибольшим номером в любом из трех наборов плюс 1. Какова цель nfds, когда у нас уже есть readfds, writefdsи exceptfdsиз которого могут быть определены...

23
Как вывести список дескрипторов открытых файлов (и файлов, на которые они ссылаются) в моей текущей сессии bash

Я бегу в интерактивной сессии Bash. Я создал несколько файловых дескрипторов, используя exec, и я хотел бы перечислить текущий статус моей сессии bash. Есть ли способ вывести список открытых файловых...

20
Переносимость файловых дескрипторов ссылок

Я всегда удивлялся этому, но никогда не занимал время, чтобы выяснить это, поэтому я сделаю это сейчас - насколько мобильно показанное здесь использование того /proc/$$/fd/$Nили другого /dev/fd/$N? Я понимаю гарантии POSIX /dev/null, /dev/tty, and /dev/console (хотя я узнал об этом только на днях...

17
выяснить, какие файловые дескрипторы имеют одно и то же «описание открытого файла»

Если я это сделаю (в Bourne-подобной оболочке): exec 3> file 4>&3 5> file 6>> file Файловые дескрипторы 3 и 4, так как 4 был dup()отредактирован от 3, имеют одинаковое описание открытого файла (те же свойства, то же смещение внутри файла ...). В то время как файловые дескрипторы...

17
Как разорвать TCP-соединение, установленное самим bash?

Я использовал exec 3<>/dev/tcp/192.168.0.101/6435для установления соединения TCP с 192.168.0.101:6435. И я получил, а также отправил несколько сообщений с pipeкомандой. Теперь я хочу разорвать соединение TCP. Но, как ss -anpetя вижу, bash сам удерживает эту связь, не разветвляя дочерний...

16
Практическое использование для перемещения файловых дескрипторов

Согласно странице руководства bash: Оператор перенаправления [n]<&digit- перемещает дескриптор файла в дескриптор digitфайла nили стандартный ввод (дескриптор файла 0), если nон не указан. digitзакрывается после дублирования на n. Что значит «переместить» дескриптор файла в другой? Каковы...

16
Что происходит, когда я закрываю () файловый дескриптор?

Я пытаюсь получить полную картину с файловыми дескрипторами. Скажем, у меня есть process1, который изначально имеет следующие файловые дескрипторы _process1_ | | | 0 stdin | | 1 stdout | | 2 stderr | |__________| Затем я закрываю файловый дескриптор 1: close(1); Файловый дескриптор 1 переводит...

16
Почему функция fork () была разработана для возврата файлового дескриптора?

На его веб - странице о с трюком собственной трубы , Dan Bernstein объясняет состояние гонки с select()и сигналами, предлагает обходной путь и приходит к выводу , что Конечно, правильно было бы fork()возвращать дескриптор файла, а не идентификатор процесса. Что он подразумевает под этим - это...

15
В коде «{exec> / dev / null; }> / dev / null ”что происходит под капотом?

Когда вы перенаправляете список команд, который содержит перенаправление exec, exec> / dev / null, похоже, по-прежнему не применяется впоследствии, например, с помощью: { exec >/dev/null; } >/dev/null; echo "Hi" «Привет» печатается. У меня сложилось впечатление, что {}список команд не...