Tag: posix

Почему существует SIGPIPE?

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

Как открываются флаги O_SYNC и O_DIRECT (2) разные / одинаковые?

Использование и влияние флагов O_SYNC и O_DIRECT очень сбивает с толку и, по-видимому, несколько меняется среди платформ. На странице руководства Linux (см. Пример здесь ) O_DIRECT обеспечивает синхронный ввод-вывод, минимизирует эффекты кеша и требует, чтобы вы сами выполняли выравнивание размера блока. O_SYNC просто гарантирует синхронный ввод-вывод. Хотя обе гарантии, что данные записаны в кеш жесткого […]

Задача Cron для работы в последний день месяца

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

Что означает «#define _GNU_SOURCE»?

Сегодня мне пришлось использовать функцию basename() , а man 3 basename ( здесь ) дал мне какое-то странное сообщение: Заметки Существуют две разные версии basename () – версия POSIX, описанная выше, и версия GNU , которую вы получаете после #define _GNU_SOURCE #include Мне интересно, что означает это #define _GNU_SOURCE : это заражает код, который я […]

Как перенаправить вывод обратно на экран после freopen («out.txt», «a», stdout)

#include int main() { printf(“This goes to screen\n”); freopen(“out.txt”, “a”, stdout); printf(“This goes to out.txt”); freopen(“/dev/stdout”, “a”, stdout); printf(“This should go to screen too, but doesn’t\n”); return 0; } Я вызываю freopen для перенаправления stdout на out.txt, затем я что-то печатаю в файле, теперь я хочу перенаправить его обратно на экран, но freopen («/ dev […]

конвертировать символ на дату * быстро * в R

Возможный дубликат: Почему as.Date замедляет вектор символа? У меня есть большой data.frame (примерно 60 мил наблюдений), который я читал из базы данных с помощью RMySQL . Даты вводятся как символы (похоже, нет способа изменить это), поэтому я использую as.Date для преобразования вещей на сегодняшний день. Тем не менее, это занимает очень много времени во многих […]

Получение наивысшего выделенного файлового дескриптора

Есть ли переносимый способ (POSIX), чтобы получить наивысший номер дескриптора файла для текущего процесса? Я знаю, что есть хороший способ получить номер в AIX, например, но я ищу переносимый метод. Причина, по которой я спрашиваю, заключается в том, что я хочу закрыть все дескрипторы открытых файлов. Моя программа – это сервер, который работает под управлением […]

как получить скриптовый каталог в POSIX sh?

У меня есть следующий код в моем сценарии bash. Теперь я хочу использовать его в POSIX sh. Итак, как его преобразовать? Благодарю. DIR=”$( cd “$( dirname “${BASH_SOURCE[0]}” )” > /dev/null && pwd )”

Что такое / dev / null 2> & 1?

Я нашел этот fragment кода в /etc/cron.daily/apf #!/bin/bash /etc/apf/apf -f >> /dev/null 2>&1 /etc/apf/apf -s >> /dev/null 2>&1 Это очистка и перезагрузка брандмауэра. Я не понимаю часть >> /dev/null 2>&1 . Какова цель иметь это в cron? Это отменяет мои правила брандмауэра. Могу ли я безопасно удалить эту работу cron?

Действительно ли printf всегда очищает буфер при столкновении с новой линией?

На моей машине работает ubuntu 10.10, и я использую стандартную библиотеку gnu C. У меня создалось впечатление, что printf сбросил буфер, если в строке формата была указана новая строка, однако следующий код неоднократно казался причиной этой тенденции. Может кто-то уточнить, почему буфер не очищается. #include #include #include #include int main() { int rc; close(1); close(2); […]

Давайте будем гением компьютера.