Запитання з тегом «file-descriptors»

2
Яка тривалість життя дескриптора файлу?
Як описано тут , перенаправлення використовуються open()для запису у файл. Існує внутрішній (?) Дескриптор файлу, створений в оболонці, а потім використовується при необхідності. Чи створюється внутрішній дескриптор протягом усього терміну дії сценарію чи оболонки? Чи знищена вона через деякий час, ряд операцій тощо? Я маю на увазі, зокрема, дескриптори файлів …

2
Яка різниця між & 6 та / dev / fd / 6?
Для читання з дескриптора файлів 6 я можу використовувати <&6або </dev/fd/6(ака /proc/self/fd/6). Зазвичай обидва працюють однаково добре. Однак якщо цей дескриптор файлу є сокетом, трапляються дивні речі. Наприклад: $ bash -c 'ls -l /dev/fd/6;cat /dev/fd/6' 6</dev/tcp/localhost/12345 lrwx------ 1 michas michas 64 Jan 10 19:50 /dev/fd/6 -> socket:[315010] cat: /dev/fd/6: No …

4
Перенаправлення виводу програми
При спробі перенаправити вихідний програму з синтаксисом "деяке число більше, ніж" (наприклад foo 2> myfile), які тут можливі числа та що вони представляють? Я вважаю, що 1 є /dev/stdout, 2 є /dev/stderr. А як щодо 5 і 6? Чи є 3, 4 або якесь число більше 6?

2
stderr над 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 ">&2"' Як я можу …

2
Порядок виводу із заміною процесу
Це те, що я зазвичай роблю для запуску grepта wcфайлу, не потребуючи його двічі сканувати <file.txt tee >(grep LITERAL) >(wc -l) >/dev/null Однак це дає EXEC LITERAL 32 іноді і 32 EXEC LITERAL в інший час. (Вихід з grepпередує виходу з wcпершої інстанції і навпаки у другому.) З іншого боку, …

2
Чому підміна процесу <() не працює з ssh -F
У мене є кілька бродячих віртуальних машин. Для входу в них я видаю vagrant sshкоманду. Я хочу увійти в них за допомогою звичайної sshкоманди. vagrant ssh-configВиводить відповідний конфігураційний файл $ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2201 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /home/cbliard/.vagrant.d/insecure_private_key IdentitiesOnly yes …


3
Названі труби, дескриптори файлів та EOF
Два вікна, той самий користувач, з bash-підказками. У вікні-1 тип: $ mkfifo f; exec &lt;f Отже, bash зараз намагається прочитати з дескриптора файлів 0, який відображається на ім'я pipe f. У вікні-2 введіть: $ echo ls &gt; f Тепер вікно-1 друкує ls, а потім оболонка відмирає. Чому? Наступний експеримент: знову …

1
OS X, bash: менше працює на дескрипторах відкритих файлів, cat не працює
У bash-скрипті, над яким я працюю (який повинен працювати на Ubuntu та OS X), мені потрібно перенаправити висновок сотень команд у файл. Замість того, щоб додати їх &amp;&gt;...до всіх, я просто роблю exec 9&gt;&amp;1 exec 5&lt;&gt;/tmp/some-file.txt exec 1&gt;&amp;5 Поки добре, але на півдорозі всіх цих команд мені потрібно прочитати все, …

4
Чому я не можу `tail -f / proc / $ pid / fd / 1`?
Я написав простий сценарій, який echo-є його PID: #/bin/bash while true; do echo $$; sleep 0.5; done Я запускаю вказаний сценарій (він повторюється 3844знову) в одному терміналі і намагаюся tailдескриптор файлу в іншому: $ tail -f /proc/3844/fd/1 Він нічого не друкує на екран і зависає доти ^c. Чому? Крім того, …

2
Виконати команду у віддаленому активному терміналі
Припустимо, у вас відкритий термінальний емулятор (T1) з PID 6350. З іншого терміналу введіть цю команду (C1): echo "ls\n" &gt; /proc/6350/fd/0 Це пише lsі новий рядок у T1, але не виконує його. Чому? Я також спробував використовувати cat|bashз , echo "ls\n" &gt; /proc/catid/fd/0але вона до цих пір не виконується. Як …

3
Написання до stdin процесу
Наскільки я розумію, якщо я введіть наступне ... python -i ... пітон-перекладач тепер буде читати зі stdin, поводячись (очевидно) так: &gt;&gt;&gt; print "Hello" Hello Я би очікував, що це зробить те саме, якщо я це роблю: echo 'print "Hello"' &gt; /proc/$(pidof python)/fd/0 Але це вихід (маючи фактично порожній рядок): &gt;&gt;&gt; …

2
Як читати введення користувача при використанні сценарію в трубі
Загальна проблема Я хочу написати сценарій, який взаємодіє з користувачем, хоча він знаходиться в середині ланцюга труб. Конкретний приклад Конкретніше, він займає fileабо stdin, відображає рядки (з номерами рядків), просить користувача ввести вибір або номери рядків, а потім друкує відповідні рядки stdout. Давайте назвемо цей сценарій selector. Тоді в основному …

1
Етимологія "дескриптора" у "дескриптора файлу"
Вибір дескриптора слова завжди структурував мене як дивний. "Індекс" або "id" здаються більш очевидними альтернативами. Чи відомо відоме обґрунтування вибору слова "дескриптор"? Я здогадуюсь, що "дескриптор" стикається з тим, що це часто концептуально більше ключових результатів, ніж число-іш, але іноді це дійсно дуже велика кількість результатів, так що здогадка здається …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.