предотвращать доступ файловой системы при передаче информации в программы и из них

Я написал основной сценарий, который вызывает системную программу десятки тысяч раз. Основной скрипт создает и предоставляет этой программе входной файл для каждого вызова. По завершении программа создает выходной файл, который считывается главным скриптом. Программа запускается с помощью: program inputFile outputFile

Основной скрипт работает медленно, и я считаю, что это связано с большими накладными расходами I / 0, возникшими при запуске program .

Можно ли запустить эту программу без записи или чтения на диск?

Обратите внимание, что как inputFile и outputFile могут содержать несколько строк. Внутренние части программы могут быть изменены, но я бы предпочел не делать этого. К сожалению, я не мог найти соответствующие рекомендации в другом месте.

  • Как я могу читать строки за строкой из переменной в bash?
  • Почему входы / выходы с высоким диском уменьшают оперативность / производительность системы?
  • Есть ли у linux что-то вроде суперкаши?
  • Какие корневые пути должны находиться на быстрых носителях?
  • Как я могу отслеживать текущую статистику ввода-вывода приложения?
  • Статистика ввода / вывода для каждого пользователя
  • Почему I / O является бесперебойным?
  • Когда dd подходит для копирования данных? (или, когда read () и write () частично)
  • One Solution collect form web for “предотвращать доступ файловой системы при передаче информации в программы и из них”

    Это может зависеть от того, что делает ваш скрипт с выходом из program . Если вы делаете что-то сложное, которое требует обработки файла несколько раз, вам может быть не повезло. (Назовем это «нулевой точкой».)

    Во-первых, проверьте, можно ли напрямую и недвусмысленно сказать, что программа может записать свой вывод на стандартный вывод вместо именованного файла. Некоторые программы интерпретируют аргумент просто тире ( - ) для обозначения стандартного ввода или стандартного вывода, если это необходимо. Поэтому постарайтесь

     program inputFile - |  ваша обработка
    

    Во-вторых, попробуйте то же самое с /dev/stdout качестве имени выходного файла:

     программа inputFile / dev / stdout |  ваша обработка
    

    В-третьих, попробуйте именованный канал:

     myFifo = $ (Mktemp)
     program inputFile "$ myFifo" &
     ваша обработка <"$ myFifo"
     rm "$ myFifo"
    
    Interesting Posts

    Shell показывает, что у меня есть почта, но как я могу ее проверить

    Как конвертировать дату с «Oct 01 20:00» в формат «1 октября 20:00» (пробел)?

    Резервное копирование с помощью Google диска

    Почему вход в канал хорошо подходит для zenity, но <файловые неполадки?

    Как скопировать / объединить два каталога, и если два файла имеют одинаковое имя, переименуйте более старый, добавив время его модификации

    Шаблоны оболочки и файлы точек

    дезактивировать драйвер USB при запуске

    Как включить список экземпляров Mint Linux Просмотр переменных цветов строк

    Как добавить текущую дату перед расширением файла для нескольких файлов в каталоге?

    Mutt: автоматическая подписка на почтовые ящики IMAP

    Установщик Antergos говорит, что у меня нет / загрузочного раздела

    Расширение текстового формата в VI

    Когда grepping файл, grep возвращает true вместо строк, почему?

    Какие требования X Server связаны с пересылкой X11?

    tmux потребляет 100% процессора

    Linux и Unix - лучшая ОС в мире.