|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 13 May 2004 09:17:24 To : Alex Semenyaka Subject : Re: Дескрипторы потоков -------------------------------------------------------------------------------- >>> Alex Semenyaka wrote: VG>>>>> Кстати, в 5.2.1 в /dev/fd/ всего 3 дескриптора с номерами 0, 1 и VG>>>>> 2. А в 4.9 их там 64. Как их можно создать? VN>>>> Попробуй touch /dev/fd/$N AS>>> Скажи, что пошутил :) VN>> Hу так сразу и выяснится, поможет это ему или нет;) AS> Тебе всё хиханьки-хаханьки :) AS> Автору исходного вопроса, из man fdesc - про /dev/fd/*: AS> fd is a directory whose contents appear as a list of numbered files AS> which correspond to the open files of the process reading the directory. Агащаззблин. Авоттакойтена. Сам-то проверял? int main() { int d, i; d = open( "/dev/null", O_RDWR, 0 ); if( d == -1 ) err( 1, "open" ); printf( "d=%d\n", d ); for( i = 0; i < 10; ++i ) { struct stat Stat; char buf[100]; snprintf( buf, sizeof buf, "/dev/fd/%d", i ); if( stat( buf, &Stat ) == 0 ) printf( "ok %d\n", i ); } return 0; } Запускаем: $ ./fd d=3 ok 0 ok 1 ok 2 И кто съел мой /dev/fd/3? AS> Другими словами: если бы touch даже и создал что-то, то исходный шелл этого AS> никогда бы не увидел (если непонятно почему, можно обсудить в RU.UNIX.PROG). AS> Второй вопрос, что оно ещё и создать не даст принципиально :) Угу. Hи создать, ни отобразить уже созданное. $ uname -mrs FreeBSD 5.2.1-RELEASE i386 Между прочим, это далеко не единственный баг devfs. Поищи в рассылках, например, как я плакался на работу файлов /dev/ttyp*. -netch- --- ifmail v.2.15dev5.3 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/2238338d0ab9f.html, оценка из 5, голосов 10
|