Пейджеры more
и less
запускаются со своим стандартным вводом, связанным с выводом предыдущих элементов в канале команд. Они должны явно открыть управляющее устройство TTY, чтобы предоставить свой пейджинговый пользовательский интерфейс.Управляющий TTY также является стандартным вводом первого элемента конвейера.
Если вызываемая команда читает из TTY и/или вмешивается в него (, изменяя настройки TTY ), вы получаете странное поведение, подобное этому.
Для сумасшедшего "путешествия" попробуйте что-то вроде:
$ vi file | less
Вот как мы можем заставить less
требовать Введите для чего-то, что обычно является горячей клавишей:
(echo foo; sleep 1; stty icanon; bar) | less
Если вы дождетесь появления bar
и, следовательно, подсказки less
, вы не сможете выйти из less
, просто набрав q . Вам нужно будет ввести qEnter . Программа испортила TTY, поместив его в канонический режим обработки ввода :, строку -в -и -ввод времени, а не символ -в -и -время.
Если вы быстро нажмете Ctrl-C во время sleep 1
, вы немедленно получите подсказку :
от less
и сможете выйти, нажав q . ] так как stty
никогда не было возможности выполнить.
Если выгружаемая команда что-то делает с TTY сразу при запуске, то возникает состояние гонки :, при котором сначала будет возиться с TTY :программа less
(для настройки символ -в -a -ввод времени )или выгружаемая программа? Вот почему в приведенном выше тесте есть sleep
; позволить less
выиграть гонку.
Звучит так, как будтоphp
(либо сам по себе, либо что-то, загруженное и выполненное php
), могло делать что-то странное с TTY, и это было исправлено.
Вы не можете (для производства );
Chrome and Firefox have removed support for TLS compression in their most recent updates.
https://blog.qualys.com/ssllabs/2012/09/14/crime-information-leakage-attack-against-ssltls
Но если вы просто хотите играть;
SSLCompression on
http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcompression