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

15
Файловый дескриптор и форк

Когда дочерний элемент разветвляется, он наследует файловые дескрипторы родителя. Если дочерний элемент закрывает файловый дескриптор, что произойдет? Если ребенок начинает писать, что произойдет с файлом в конце родительского? Кто управляет этими несоответствиями, ядро ​​или пользователь? когда...

14
Что делает exec 3 <& 1?

Я понимаю, что execможет сделать перенаправление ввода / вывода на текущей оболочке, но я вижу только использование как: exec 6<&0 # Link file descriptor #6 with stdin. # Saves stdin. exec 6>&1 # Link file descriptor #6 with stdout. # Saves stdout. Из того, что я понимаю, что <для...

13
Почему SSH -t не ждет фоновых процессов?

Почему это ssh -tне ждет завершения фоновых заданий? Пример: ssh user@example 'sleep 2 &' Это работает как ожидалось, так как ssh возвращается через 2 секунды, тогда как ssh user@example -t 'sleep 2 &' не ждет sleepокончания и сразу возвращается. Кто-нибудь может объяснить причину этого?...

13
Как найти скорость интерфейса WLAN?

Я пытаюсь найти скорость сетевого интерфейса, используя файл-дескриптор. Это легко сделать ethX, просто позвонив cat /sys/class/net/eth0/speed. К сожалению, этот метод не работает с беспроводным интерфейсом. Когда я звоню, /sys/class/net/wlan0/speedя получаю сообщение об ошибке: неверный аргумент....

13
Исправление ulimit: открыть файлы: невозможно изменить ограничение: операция не разрешена

Я проверил это на разных установках GNU / Linux: perl -e 'while(1){open($a{$b++}, "<" ,"/dev/null") or die $b;print " $b"}' Система A и D Первый предел, который я установил, - 1024. Его легко повысить, поместив в /etc/security/limits.conf: * hard nofile 1048576 и затем запустите: ulimit -n...

12
Как программа-журнал может продолжать входить в удаленный файл?

Из Unix Power Tools, 3-е издание : вместо удаления файла очистите раздел: Если у активного процесса есть открытый файл (не редкость для файлов журнала), удаление файла и создание нового не повлияет на программу ведения журнала; эти сообщения будут продолжать идти в файл, который больше не связан ....

12
дескриптор файла против имени файла

Мне было интересно, какие различия и отношения между дескрипторами файлов и именами файлов. Все ли они используются для доступа к файлам? Если да, то же самое? Так , например, /dev/fd/0, /dev/stdinи /proc/self/fd/0все ссылки на /dev/pts/2. Это четыре дескриптора файла или имена...

12
SSH: предоставьте дополнительные «pipe» fd в дополнение к stdin, stdout, stderr

При подключении к хосту с SSH, как правило , три «труба» предусмотрена между хостом и гостем, для stdin, stdoutи stderr. Есть ли опция командной строки для создания пересылок для дополнительных файловых дескрипторов ( 3и далее)? Например, я хотел бы сделать ssh --forwardfd=10:3 remotehost 'echo...

12
Проверка правильности дескриптора файла

Я бы хотел, чтобы скрипт bash выводил дополнительную информацию в файловые дескрипторы (FD), большие или равные 3, когда они открыты. Чтобы проверить, открыт ли FD, я разработал следующий трюк: if (printf '' 1>&3) 2>&-; then # File descriptor 3 is open else # File descriptor 3 is not...

11
Порядок вывода с заменой процесса

Это то , что я обычно делаю , чтобы работать grepи wcна файл , без необходимости сканирования дважды <file.txt tee >(grep LITERAL) >(wc -l) >/dev/null Тем не менее, это дает EXEC LITERAL 32 иногда и 32 EXEC LITERAL в другие времена. (Выходные данные grepпредшествуют выходным wcданным в...

11
Перенаправление вывода программы

При попытке перенаправить вывод программы с синтаксисом «некоторое число больше, чем» (например foo 2> myfile), какие здесь возможные числа и что они представляют? Я считаю, 1 есть /dev/stdout, 2 есть /dev/stderr. А как насчет 5 и 6? Есть ли 3, 4 или какое-то число больше...

11
В чем разница между & 6 и / dev / fd / 6?

Для чтения из файлового дескриптора 6 я могу использовать <&6или </dev/fd/6(иначе /proc/self/fd/6). Обычно оба работают одинаково хорошо. Однако если этот дескриптор файла оказывается сокетом, происходят странные вещи. Например: $ bash -c 'ls -l /dev/fd/6;cat /dev/fd/6'...

11
Почему подстановка процесса <() не работает с ssh -F

У меня есть несколько бродячих виртуальных машин. Чтобы войти в них я выдаю vagrant sshкоманду. Я хочу войти в них с помощью обычной sshкоманды. vagrant ssh-configВыводит соответствующий конфигурационный файл $ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2201...

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

Как описано здесь , перенаправления используются open()для записи в файл. В оболочке есть внутренний (?) Файловый дескриптор, который затем используется при необходимости. Внутренний дескриптор создается на протяжении всего сценария или времени жизни оболочки? Разрушено ли оно через некоторое...

11
stderr over ssh -t

Это отправляет вывод в STDERR, но не распространяется Ctrl+ C(т.е. Ctrl+ Cубьет, sshно не удаленный sleep): $ ssh localhost 'sleep 100;echo foo ">&2"' Это распространяется Ctrl+ C(т.е. Ctrl+ Cубьет sshи удаленный sleep), но отправляет STDERR в STDOUT: $ ssh -tt localhost 'sleep 100;echo foo...

10
Как прочитать пользовательский ввод при использовании скрипта в трубе

Общая проблема Я хочу написать сценарий, который взаимодействует с пользователем, даже если он находится в середине цепочки каналов. Конкретный пример Конкретно, требуется fileили stdin, отображает строки (с номерами строк), просит пользователя ввести выбор или номера строк, а затем печатает...

10
OS X, bash: меньше работает с дескрипторами открытых файлов, cat не работает

В скрипте bash, над которым я работаю (который должен работать в Ubuntu и OS X), мне нужно перенаправить вывод сотен команд в файл. Вместо того, чтобы присоединиться &>...ко всем из них, я просто делаю exec 9>&1 exec 5<>/tmp/some-file.txt exec 1>&5 Пока все хорошо, но на...

10
Почему я не могу `tail -f / proc / $ pid / fd / 1`?

Я написал простой скрипт, который echo-es его PID: #/bin/bash while true; do echo $$; sleep 0.5; done Я запускаю указанный скрипт (он говорит 3844снова и снова) в одном терминале и пытаюсь tailиспользовать дескриптор файла в другом: $ tail -f /proc/3844/fd/1 Он ничего не выводит на экран и пока не...

10
Выполнить команду в удаленном активном терминале

Предположим, у вас открыт эмулятор терминала (T1) с PID 6350. С другого терминала введите эту команду (C1): echo "ls\n" > /proc/6350/fd/0 Это пишет lsи новую строку в T1, но не выполняет его. Почему? Я также пытался использовать cat|bashс, echo "ls\n" > /proc/catid/fd/0но он все еще не...