The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Возможен предварительный запуск программы?, !*! Hikolaich, 28-Мрт-19, 11:58  [смотреть все]
Доброго!
Допустим в скрипте работает цикл с проверкой, к примеру, строки из ps -ef и некоторой задержкой по sleep. В цикле используются grep, awk и др. Поясните, bash один раз грузит с диска проги используемые внутри цикла или при каждом повторе цикла? Если второе, то можно ли предварительно загрузить их в память, дабы не дёргать каждый раз винт и тем самым увеличить быстродействие? RAM диск не рассматриваем.
Спасибо.
  • Возможен предварительный запуск программы?, !*! universite, 13:41 , 28-Мрт-19 (1)
    > Доброго!
    > Допустим в скрипте работает цикл с проверкой, к примеру, строки из ps
    > -ef и некоторой задержкой по sleep. В цикле используются grep, awk
    > и др. Поясните, bash один раз грузит с диска проги используемые
    > внутри цикла или при каждом повторе цикла? Если второе, то можно
    > ли предварительно загрузить их в память, дабы не дёргать каждый раз
    > винт и тем самым увеличить быстродействие? RAM диск не рассматриваем.
    > Спасибо.

    Это зависит от планировщика системы.
    При сильном желании, bash скрипт можно скомпиллировать в исполнительный бинарник.

  • Возможен предварительный запуск программы?, !*! Andrey Mitrofanov, 14:03 , 28-Мрт-19 (2)
    > Доброго!
    > Допустим в скрипте работает цикл с проверкой, к примеру, строки из ps
    > -ef и некоторой задержкой по sleep. В цикле используются grep, awk
    > и др. Поясните, bash один раз грузит с диска проги используемые
    > внутри цикла или при каждом повторе цикла?

    Да с диска. И нет, не совсем с диска.

    Если все блоки, нужные для запуска бинарей при очередном запуске _ещё_ лежат в кеше ОС, то запуск будет практически как из RAM-диска.
    Если "кеши вымылись" /сбросились, будет чтение бинарей с дискового устройства...

    Создание процессов, пйапов, динамическая линковка с библиотеками, чтение/перечитывание прогами их конфигов (буде надобность в таковых обнаружится), что-то ещё может быть...  происходит  при каждом запуске.

    ...и результаты всего этого выбрасываются каждый раз, как конвейер с-под шела отработает.

    >RAM диск не рассматриваем.

    Прыгать в обручи?  Как высоко изволите?

  • Возможен предварительный запуск программы?, !*! Pahanivo, 17:17 , 28-Мрт-19 (3)
    Вообще подход конечно интересный .... ворочить скриптом тулзы, и при этом парится за быстродействие, хм, однако.
    Если уж хочетсо парсить текст без костылей - есть перл, если судить по циклическому парсингу - можно натравить нужный stdout на конвейер ... тут требуется прояснить исходные условия задачи для выработки вектора пинка в нужную сторону.
    • Возможен предварительный запуск программы?, !*! Hikolaich, 21:01 , 28-Мрт-19 (4)
      Интерес чисто теоретический и возник во время написания скрипта для Orange PI H6 с OS от производителя, где драйверов практически нет, а потребовалось синхронизировать время со спутников. Использовать Gpsd ради редких перезагрузок посчитал не рациональным, пошёл таким путём GNSS > ds3231 > hwclock > systemtime. Цикл проверяет только поступление данных с GNSS, задержка 0.01 сек, далее парсер и разово отправка в ds3231. Супер точного времени мне не надо. Работой скрипта доволен и быстродействие вполне устраивает. Изучать и писать на перле, си, ради разовой потребности не вижу смысла, мне и баша достаточно от засыхания мозгов на пенсии.
      Повторю, вопрос был чисто из любопытства. Спасибо ответившим.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру