_syscalls_ mans (Мини-учебник с ejudge = Чернокнижка), страница 3

PDF-файл _syscalls_ mans (Мини-учебник с ejudge = Чернокнижка), страница 3 Практика расчётов на ПЭВМ (37191): Книга - 3 семестр_syscalls_ mans (Мини-учебник с ejudge = Чернокнижка) - PDF, страница 3 (37191) - СтудИзба2019-05-08СтудИзба

Описание файла

Файл "_syscalls_ mans" внутри архива находится в папке "Мини-учебник с ejudge = Чернокнижка". PDF-файл из архива "Мини-учебник с ejudge = Чернокнижка", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 3 страницы из PDF

Если это имя было последним, котороессылалось на файл, и файл не был открыт никаким процессом, файл уничтожается и местона диске, которое он занимал, становится доступным для повторного использования.Если имя pathname было последней ссылкой на файл, но какие-либо процессы держат этот файл открытым, файл продолжает существование до момента, когда будет закрытпоследний файловый дескриптор, ссылающийся на файл.Если имя pathname является именем символической связи, уничтожается сама символическая связь, а не файл, на который она указывает.Возвращаемое значениеПри успешном завершении возвращается 0.

В случае ошибки возвращается -1, и переменная errno устанавливается в код ошибки.Коды ошибокEFAULTEACCESEPERMENAMETOOLONGENOENTENOTDIREISDIRENOMEMEROFSELOOPEIO13path или buf указывают за пределы адресного пространства процессакаталог, содержащий pathname не допускает запись в него; либо один из каталогов не допускает поиску каталога, содержащего удаляемый файл, установлен бит t, и uid процессане совпадает с uid удаляемого файла или родительского каталога; pathnameявляется каталогомслишком длинный путь pathnameкомпонента каталога в pathname не существует, либо является «висящей»символической ссылкойкомпонента пути, заявленная в пути как каталог, на самом деле не являетсятаковымpathname является каталогомнедостаточно памяти ядраpathname находится в файловой системе, которая работает в режиме «толькочтение»слишком много символических связей было встречено при прослеживании пути pathошибка ввода/вывода на устройствеrenamerename — изменить имя или расположение файла.13Использование#include <stdio.h>int rename(const char *oldpath, const char *newpath);Описаниеrename переименовывает файл, перемещая его между каталогами, если необходимо.Другие жёсткие связи (созданные с помощью link) не затрагиваются.Если newpath уже существует, он будет атомарно заменён так, что для другого процесса,который работает с newpath, он всегда будет существовать.

Однако может существоватьпромежуток времени, в течение которого oldpath и newpath будут указывать на один итот же файл.Если newpath существует, но операция по какой-либо причине завершается неудачно,rename гарантирует, что newpath останется неизменным.Если oldpath является символической связью, связь переименовывается, а еслиnewpath является символической связью, она уничтожается.Возвращаемое значениеПри успешном завершении операции возвращается 0. При ошибке возвращается -1, ипеременная errno устанавливается в код ошибки.Коды ошибокEISDIREXDEVENOTEMPTY, EEXISTEBUSYEINVALENOTDIREFAULTEACCESENAMETOOLONGENOENTENOMEMEROFSELOOPENOSPCnewpath существует и является каталогом, а oldpath не является каталогомoldpath и newpath не находятся на одной файловой системеnewpath — непустой каталог, то есть содержит записи, отличные от .

и ..oldpath или newpath используются другим процессом или операционнойсистемой таким образом, что делает операцию невозможнойпопытка сделать каталог подкаталогом самого себякомпонента пути, заявленная в пути как каталог, на самом деле не являетсятаковым; либо oldpath является каталогом, а newpath существует и не является каталогомoldpath или newpath указывают за пределы адресного пространства процессазакрыт доступ на запись к необходимым каталогам; каталог в пути oldpathили newpath не позволяют вести поиск в нем; файловая система не допускаеттакую операциюслишком длинный путь oldpath или newpathкомпонента каталога существует, либо является «висящей» символическойссылкойнедостаточно памяти ядраpathname находится в файловой системе, которая работает в режиме «толькочтение»слишком много символических связей было встречено при прослеживании пути pathна устройстве не осталось места для новой записи в каталоге1414mkdirmkdir — создать каталог.Использование#include <sys/stat.h>#include <sys/types.h>#include <fcntl.h>#include <unistd.h>int mkdir(const char *pathname, mode_t mode);Описаниеmkdir создаёт новый каталог с именем pathname.mode задаёт права доступа к создаваемому каталогу.

Параметр mode модифицируетсязначением umask процесса стандартным способом (mode & ~umask).Вновь созданный каталог будет иметь такого владельца, каков euid процесса. Каталогунаследует идентификатор группы от родительского каталога.Возвращаемое значениеПри успешном завершении mkdir возвращает 0. При ошибке возвращается -1 и переменная errno устанавливается в код ошибки.Коды ошибокEEXISTEFAULTEACCESENAMETOOLONGENOENTENOTDIRENOMEMEROFSELOOPENOSPC15pathname уже существует (не обязательно каталог)pathname указывает за пределы адресного пространства процессакаталог, содержащий pathname не допускает запись в него; либо один из каталогов не допускает поискслишком длинный путь pathnameкомпонента каталога в pathname не существует, либо является «висящей»символической ссылкойкомпонента пути, заявленная в пути как каталог, на самом деле не являетсятаковымнедостаточно памяти ядраpathname находится в файловой системе, которая работает в режиме «толькочтение»слишком много символических связей было встречено при прослеживании пути pathна устройстве не осталось свободного места; либо исчерпана квота пользователяrmdirrmdir — удалить каталог.Использование15#include <unistd.h>int rmdir(const char *pathname);Описаниеrmdir удаляет каталог, который должен быть пустым.Возвращаемое значениеПри успешном завершении возвращается 0.

При ошибке возвращается -1, и переменнаяerrno устанавливается в код ошибки.Коды ошибокEPERMEFAULTEACCESENAMETOOLONGENOENTENOTDIRENOTEMPTYEBUSYENOMEMEROFSELOOP16файловая система не поддерживает удаление каталогов; у каталога, содержащего удаляемый файл, установлен бит t, и uid процесса не совпадает с uidудаляемого файла или родительского каталога;pathname указывает за пределы адресного пространства процессакаталог, содержащий pathname не допускает запись в него; либо один из каталогов не допускает поискслишком длинный путь pathnameкомпонента каталога в pathname не существует, либо является «висящей»символической ссылкойкомпонента пути, заявленная в пути как каталог, на самом деле не являетсятаковымкаталог содержит записи, отличные от .

и ..каталог является текущим или корневым каталогом некоторого процессанедостаточно памяти ядраpathname находится в файловой системе, которая работает в режиме «толькочтение»слишком много символических связей было встречено при прослеживании пути pathchdir, fchdirchdir, fchdir — сменить текущий каталог.Использование#include <unistd.h>int chdir(const char *path);int fchdir(int fd);Описаниеchdir устанавливает заданный параметром каталог path как текущий. fchdir устанавливает текущим каталог, заданный открытым файловым дескриптором.16Возвращаемое значениеПри успешном завершении возвращается 0. При ошибке возвращается -1, и переменнаяerrno устанавливается в код ошибки.Коды ошибокКоды ошибок зависят от файловой системы.

Наиболее общие приведены ниже.EFAULTENAMETOOLONGENOENTENOMEMENOTDIREACCESELOOPEBADF17path указывает за пределы адресного пространства процессаслишком длинный путь pathкаталог path не существуетнедостаточно памяти ядракомпонента пути, заявленная в пути как каталог, на самом деле не являетсятаковымодин из каталогов-компонент пути не допускает поиск в немслишком много символических связей было встречено при прослеживании пути pathfd не является допустимым файловым дескрипторомgetcwdgetcwd — получить имя текущего каталога.Использование#include <unistd.h>char *getcwd(char *buf, size_t size);Описаниеgetcwd копирует абсолютное имя текущего рабочего каталога в массив, на который указывает buf, размера size. Если имя текущего каталога требует буфера размера большего,чем size, возвращается NULL и errno устанавливается в ERANGE.Возвращаемое значениеПри успешном завершении возвращается buf.

При ошибке возвращается NULL, и переменная errno устанавливается в код ошибки.18opendiropendir — открыть каталог на чтение.Использование#include <sys/types.h>#include <dirent.h>DIR *opendir(const char *name);17ОписаниеФункция opendir открывает каталог с заданным именем и возвращает указатель наструктуру DIR, используемую для доступа к элементам каталога. Указатель текущего положения позиционируется на начало файла.Возвращаемое значениеУказатель на структуру DIR при успешном завершении, или NULL при ошибке, тогдаerrno устанавливается в код ошибки.Коды ошибокEACCESEMFILEENFILEENOENTENOMEMENOTDIR19каталог закрыт на чтение, либо один из каталогов в пути к файлу не позволяет поискв нем.процесс уже открыл максимальное количество файлов.достигнут лимит на число открытых файлов в системе.компонента имени каталога в пути не существует, либо висячая символическаяссылка, либо пустое имя каталога.недостаточно памяти для ядра.компонента пути, используемая как каталог, не является каталогом.readdirreaddir — читать из каталога.Использование#include <sys/types.h>#include <dirent.h>struct dirent *readdir(DIR *dir);ОписаниеФункция readdir возвращает указатель на структуру dirent, которая содержит информацию о следующей записи в каталоге, доступ к которому производится по указателюdir.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5285
Авторов
на СтудИзбе
418
Средний доход
с одного платного файла
Обучение Подробнее