1. bash / Говнокод #25373

    0

    1. 1
    jopa | parasha

    Допустим jopa бесконечно срёт в STDOUT.
    parasha это всё читает из STDIN.
    Что будет делать ОС, если параша не будет успевать читать высеры?
    Держать в памяти? Сохранять на диск?

    Запостил: Perevedi_na_PHP, 12 Февраля 2019

    Комментарии (114) RSS

    • Это линуксовый пайп, правильно? Кмк, ось будет прерывать попытки жопы засрать stdout, пока параша не готова к чтению
      Но это так, предположение
      Ответить
      • Да, заблокирует запись пока в буфере место не освободится.
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Х.з. Куда ты в dup2 флаги пихать собрался?
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • Там разве можно что-то кроме close-on-exec править?
                Ответить
              • > dup
                > dup2
                > dup3
                А потом эти люди ругают венду с её -Ex функциями...
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • Походу на анонимных пайпах вообще overlapped не работает. А cmd скорее всего такой и передаёт.

                    Оверлапы можно просто на ивенте ждать. Комплишн порт нужен только если у тебя их овердохуя и wait не справляется.
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • WaitForMultipleObjects - это poll а не epoll.
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • Ну т.е. WaitForMultipleObjects ещё и хуже poll'а.

                            Там же боттл-нека не в проверке сраного флажка в структурах после выхода из poll, а в том что в сисколл передаётся весь список хендлов. Каждый раз. В отличие от epoll и completion port.
                            Ответить
                            • показать все, что скрытоvanished
                              Ответить
                              • показать все, что скрытоvanished
                                Ответить
                                • на макакакакакаоси тоже
                                  Ответить
                                  • показать все, что скрытоvanished
                                    Ответить
                                    • показать все, что скрытоvanished
                                      Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                        • показать все, что скрытоvanished
                                          Ответить
                                        • показать все, что скрытоvanished
                                          Ответить
                                          • показать все, что скрытоvanished
                                            Ответить
                                          • Ботнетчики туда в основном набежали из-за тупых дефолтных паролей да ssh/http портов в сторону инета.
                                            Ответить
                                            • Там ещё по умолчанию бывает включено всякое говно для дистанционного управления вроде «TR-069», «UPNP», «SNMP», которое и в сторону клиента нахрен не нужно.
                                              Ответить
                                            • показать все, что скрытоvanished
                                              Ответить
                                              • > IoT
                                                Лучше уж IoT на прыщах, чем IoT на самодельных китайских прошивках...
                                                Ответить
                                              • > Ой мама шо щас начнется...
                                                Луниксоиды обычно активно заявляли о своей элитности и превозмогании.
                                                * Долго копал мануалы и нашёл это опцию, не то что ваш мейнстрим.
                                                * Выучил все опции команд tar, tatar, ls, hues, а вы - нет.
                                                * Вы тупые смотрели три часа тупые фильмы для тупых, а я курил маны и конпелировал едро.
                                                * Пейсатели вирусов не настолько элитны, чтобы писать вирусы для элитной ОС.
                                                А тут и элитность, и безопасность, и пердолинг вдруг грозятся уйти. Теперь вместо красноглазничества нужно будет как-то по-другому выделяться. Флешки на перфокарты заменить, паять компы на реле, вакуумный увеличитель покупать.
                                                Ответить
                                              • показать все, что скрытоvanished
                                                Ответить
                                                • >> отключить обновления
                                                  Обновления никак не помогают защититься от малвари. Более того, сейчас появились объявления, ломающие систему, после которых ещё нужно что-то восстанавливать.

                                                  >> не ставить антивирус
                                                  Все мои знакомые, хватавшие винлоки и троянов, пользуются антивирусами.

                                                  >> не обновлять браузер
                                                  Опять же обновления браузера не помогают повысить безопасность. Браузер приходится обновлять, не ради безопасности, а потому что всякие 1024-- на сайтах используют «ES6», а в старых браузерах он не поддерживается.

                                                  >> пойти скачать с интернета .exe файл с порнухой и запустить его
                                                  Вот это ключевой момент. Бритва Оккама говорит, что всё остальное можно выкинуть.
                                                  Ответить
                                                  • показать все, что скрытоvanished
                                                    Ответить
                                                    • >> Вероятно тоже сломанными и обновленным в 2001 году?

                                                      Нет, свежими. И даже не сломанными, а легально бесплатными или купленными.

                                                      Как правило, такие люди не знают, чем отличается exe-файл от документов других форматов. Ещё у них в «Проводнике» стоит галочка «Не показывать расширения для зарегистрированных типов файлов», в результате «Документ.doc.exe» в «Проводнике» выглядит как «Документ.doc».

                                                      Кстати, ты видел, как выглядит диспетчер загрузки в «Хроме»? Это же полный пиздец. При клике по ссылке на объект, который должен скачиваться (когда есть заголовок «Content-Disposition» или мимими-тип соответствует «скачиваемым» документам), сразу безо всяких предупреждений прямо поверх открытой страницы всплывает индикатор процесса загрузки (закрывая часть читаемого тобой текста), а потом появляется ссылка на скачанный файл, так что на неё можно случайно кликнуть и запустить.

                                                      Подозреваю, что именно благодаря «Хрому» порнуху.exe и запускают.
                                                      Ответить
                                                • В Windows обновления точно нужно отключать. Пару лет назад кто-то взломал сертификат Microsoft и закачал туда вредоносную программу, которая устанавливала вирус, представлявшийся новой версией Windows. Установленное ПО тормозило компьютеры, следило за пользователем, шарилось в его файлах, качало гигабайты обновлений, которые забивали интернет-канал и жёсткий диск, а также приводили устройства и установленные программы в нерабочее состояние. В конце концов оно расползлось по большому количеству устройств и продолжает свою разрушительную деятельность. В зону поражения попали даже производители нового оборудования. Поэтому, если даже вы покупаете совершенно свежий компьютер, например, ноутбук, этот троян будет уже там.
                                                  Ответить
    • показать все, что скрытоvanished
      Ответить
      • > сначала говном заполнится буфер, а дальше жопа заблокируется

        Понятно. Всё как в жизни, короче.
        Ответить
    • В «DOS» никаких пайпов нет: сначала jopa высрет всё, что захочет, во временный файл (как будто была запущена команда jopa > %TEMP%\djksfh56.tmp), а потом parasha прочитает, что захочет, из этого временного файла (как будто была запущена команда parasha < %TEMP%\djksfh56.tmp), после чего command.com удалит временный файл (del %TEMP%\djksfh56.tmp).

      Именно поэтому я за «DOS».
      Ответить
      • Не смог портировать «yes» под «DOS», проверь.
        Ответить
        • Сотни-другой "y" хватит для всех.
          Ответить
        • Кстати, в последних версиях «DJGPP» (один из портов «GCC» под «DOS», точнее, под «DPMI») всё-таки сделали функцию «popen» (ну почему всё, что связано с буферами, называется дупой или попой?), но созданные ей пайпы может использовать только программа, скомпилированная «DJGPP».
          Ответить
      • показать все, что скрытоvanished
        Ответить
        • Походу command.com тупо запускает исполняет проги вдоль пайпа по порядку. Из-за этой однозадачности ему и приходится временный файл юзать.
          Ответить
        • В «DR-DOS» был даже мультитаскер, позволяющий запускать несколько программ параллельно (пропатченную версию мультитаскера можно было запустить и из других DOS'ов), но до реализации пайпов они не дошли.

          Ещё библиотеку «pthreads» портировали под «DOS».

          В общем, база для этого была, но разработчики решили сосредоточиться на других операционных системах.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • Я ещё видел резидентную программу для форматирования дискет. Она добровольно отдавала тики времени коммандкому, так что во время форматирования дискеты можно было ещё какой-нибудь программой пользоваться (нетребовательной к ресурсам).
              Ответить
    • показать все, что скрытоvanished
      Ответить
    • Не, ну, вывод, допустим, заблокируется. То есть программа остановится в вызове fwrite(stdout, ...) или как там его. Но если у меня, допустим, есть рабочий поток, который обрабатывает данные и ставит в очередь... данные будут накапливаться в этой очереди?
      А то я написал, скажем, программу, которая что-то там потоково преобразовывает, и все работает и кушать не просит. А ее взяли и запустили на какой-то тормозной выход, так она, получается, тогда распухнет, пока в OOM не свалится?
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий