posix- все статьи тега


Является ли Android POSIX-совместимым?

Совместим ли Android POSIX? Я знаю, что он использует ядро Linux, но я не уверен, что это означает, что он совместим с POSIX, так как стандарт POSIX больше связан с функциями userland. Итак, это совместимо? Например, если я использую только функции ANSI и POSIX в моей программе C, будет ли она компилироваться и работать на Android без необходимости каких-либо изменений кода? ...

Что такое posix fadvise () args для последовательной записи файлов?

Я работаю над приложением, которое последовательно записывает большой файл (и не читает вообще), и я хотел бы использовать posix_fadvise() для оптимизации поведения файловой системы. Описание функции в manpage предполагает, что наиболее подходящей стратегией будет POSIX_FADV_SEQUENTIAL. Однако описание реализации Linux сомневается, что: Под Linux, POSIX_FADV_NORMAL устанавливает окна опережающего считывания для размера по умолчанию для резервного устройства; POSIX_FADV_SEQUENTIAL удваивает ...

shmat () возвращает другой "shmaddr" для того же " shmkey"

Вот моя установка... /* Bounded Buffer item structure */ struct item { int id; /* string index value */ char str[80]; /* string value */ }; /* Structure for the shared memory region */ typedef struct { int debug; /* debug flag */ int in; /* index of next empty slot */ int out; /* index of next full slot */ char MUTEXname[32]; /* name of the MUTEX semaphore */ char EMPTYname[32]; /* name of the EMPTY semapho ...

Действительно ли в Linux нет асинхронного блочного ввода-вывода?

Рассмотрим приложение, связанное с ЦП, но также имеющее требования к высокопроизводительному вводу-выводу. Я сравниваю файловый ввод-вывод Linux с Windows, и я не вижу, как epoll вообще поможет программе Linux. Ядро скажет мне, что файловый дескриптор "готов к чтению", но я все равно должен вызвать blocking read (), чтобы получить мои данные, и если я хочу прочитать мегабайты, это довольно ясно, что это заблокирует. В Windows я могу создать дескриптор файла с перекрывающимся набором, а затем и ...

Как выполнить команду и получить вывод команды в C++ с помощью POSIX?

Я ищу способ получить вывод команды, когда она запускается из программы на C++. Я посмотрел на использование функции system (), но это будет просто выполнить команду. Вот пример того, что я ищу: std::string result = system( "./some_command" ) ; Мне нужно выполнить произвольную команду и получить ее вывод. Я посмотрел на Boost.org но я не нашел ничего, что даст мне то, что мне нужно. ...

Как конвертировать указатель файла (FILE* fp) в файловый дескриптор (int fd)?

у меня есть FILE *, возвращенный вызов fopen(). Мне нужно получить файловый дескриптор от него, чтобы сделать вызовы, такие как fsync(fd) на нем. Какова функция для получения дескриптора файла из Указателя файла? ...

Ошибка c++: неопределенная ссылка на 'часы, методов gettime и settime часы'

Я довольно новичок в Ubuntu, но я не могу заставить это работать. Он отлично работает на моих школьных компьютерах, и я не знаю, что я не делаю. Я проверил usr / include и времени.ч там просто отлично. Вот код: #include <iostream> #include <time.h> using namespace std; int main() { timespec time1, time2; int temp; clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1); //do stuff here clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time2); return 0; } Я испо ...

В чем разница между информацией и сигналом?

Я собирался добавить дополнительный обработчик сигнала в приложение, которое мы имеем здесь, и я заметил, что автор использовал sigaction для настройки других обработчиков сигналов. Я собирался использовать сигнал. Чтобы следовать конвенции, я должен использовать sigaction, но если я писал с нуля, что я должен выбрать? ...

Каков статус асинхронного ввода-вывода POSIX (AIO)?

есть страницы, разбросанные по всему интернету, которые описывают объекты POSIX AIO в различной степени детализации. Ни один из них не очень свежие. Непонятно, что именно они описывают. Например, "чиновник" (?)веб-сайт для поддержки асинхронного ввода-вывода ядра Linux здесь говорит, что сокеты не работают, но "aio.H " страницы руководства на моей рабочей станции Ubuntu 8.04.1 все, кажется, подразумевают, что он работает для произвольных дескрипторов файлов. То есть другой проект, который, к ...

Как SIGINT относится к другим сигналам завершения?

в системах POSIX сигналы завершения обычно имеют следующий порядок (согласно многим справочным страницам и спецификациям POSIX): SIGTERM-вежливо попросите процесс завершить. Он должен завершаться изящно, очищая все ресурсы (файлы, сокеты, дочерние процессы и т. д.), удаление временных файлов и так далее. SIGQUIT-более сильный запрос. Он должен прекратить нелюбезный, все еще очищая ресурсы, которые абсолютно необходимы очистка, но, возможно, не удалять временные файлы, возможно, записывать отла ...

Почему сигнал sigpipe, существует?

насколько я понимаю, SIGPIPE может произойти только в результате write(), который может (и делает) возвращают -1 и устанавливают errno до EPIPE... Так почему же у нас есть дополнительные накладные расходы на сигнал? Каждый раз, когда я работаю с трубами, я игнорирую SIGPIPE и никогда не чувствовал никакой боли в итоге, я что-то пропустила? ...

Подавить Эхо вызова команды в makefile?

Я написал программу для задания, которая должна вывести свой вывод на stdout. Спецификация присваивания требует создания файла Makefile, который при вызове как make run > outputFile следует запустить программу и записать вывод в файл, который имеет отпечаток пальца SHA1, идентичный тому, который указан в спецификации. моя проблема в том, что мой makefile: ... run: java myprogram также выводит команду, которая запускает мою программу (например, java myprogram) в выходной файл, так чт ...

Система V IPC vs POSIX IPC

В чем разница между System V IPC и POSIX IPC ? почему у нас есть два стандарта ? как решить, какие функции IPC использовать ? ...

Задание Cron для запуска в последний день месяца

Мне нужно создать задание cron, которое будет выполняться в каждый последний день месяца. Я создам его из cpanel. любая помощь приветствуется. Спасибо ...

Является ли snprintf () всегда нулевым завершением?

всегда ли snprintf null завершает буфер назначения? другими словами, достаточно ли этого: char dst[10]; snprintf(dst, sizeof (dst), "blah %s", somestr); или вы должны сделать так, если somestr достаточно долго? char dst[10]; somestr[sizeof (dst) - 1] = ''; snprintf(dst, sizeof (dst) - 1, "blah %s", somestr); меня интересует как то, что говорит стандарт, так и то, что может сделать какой-то популярный libc, который не является стандартным поведением. ...

Рекурсивный системный вызов mkdir () в Unix

после прочтения справочной страницы mkdir(2) для системного вызова Unix с этим именем, кажется, что вызов не создает промежуточные каталоги в пути, только последний каталог в пути. Есть ли способ (или другая функция) создать все каталоги в пути, не прибегая к ручному разбору моей строки каталога и индивидуально создавая каждый каталог ? ...

Как использовать nanosleep() в C? Что такое `tim.tv sec 'and `tim.tv nsec'?

зачем tim.tv_sec и tim.tv_nsec в следующем? как я могу спать исполнения 500000 микросекунд? #include <stdio.h> #include <time.h> int main() { struct timespec tim, tim2; tim.tv_sec = 1; tim.tv_nsec = 500; if(nanosleep(&tim , &tim2) < 0 ) { printf("Nano sleep system call failed n"); return -1; } printf("Nano sleep successfull n"); return 0; } ...

Убить все процессы для данного пользователя

есть ли надежный способ убить все процессы данного пользователя? kill(-1, SIGKILL) как этот пользователь будет работать, если изгоев процесс этого пользователя убивает процесс убийства в первую очередь. Лучшее, что я могу найти до сих пор, это петля через system("ps -u") для этого пользователя и убить процессы таким образом, но это кажется действительно хаки и неэффективно. EDIT: чтобы уточнить, я специально прошу POSIX-совместимое решение. По какой-то причине я думал, что пометка вопроса posix ...

Есть ли эквивалент максимального пути WinAPI под linux / unix?

Если я хочу выделить массив символов (в C), который гарантированно будет достаточно большим, чтобы содержать любой допустимый абсолютный путь+имя файла, насколько он должен быть большим. на Win32 есть определение MAX_PATH. Что такое эквивалент для Unix / linux? ...

Являются ли очереди сообщений устаревшими в linux?

Я недавно играл с очередями сообщений (System V, но POSIX тоже должен быть в порядке) в Linux, и они кажутся идеальными для моего приложения, но после прочтения Искусства программирования Unix я не уверен, что они действительно хороший выбор. http://www.faqs.org/docs/artu/ch07s02.html#id2922148 верхний уровень передачи сообщений системы V IPC в значительной степени вышел из употребления. Нижний уровень, который состоит из общей памяти и семафоры, по-прежнему имеет значительные приложения в ...