В зависимости от настроек управления заданиями, вы можете быть в состоянии выдать первую kill -tstp
в less
программу, а затем kill -9
. Первый сигнал перехватывается less
и заставляет его восстанавливать tty перед повторной выдачей сигнала на себя, что обычно заставляет его остановиться в фоновом режиме. Однако, если обработчик по умолчанию для SIGTSTP игнорирует его, less
он просто продолжит работу и снова установит для терминала значение raw.
Вы можете рассмотреть возможность запуска less
в отдельном терминале, например xterm -e sh -c "less /myfile"
, тогда вы можете сделать kill -9
это без необходимости очистки.
Вы также можете запустить less --quit-on-intr
(или -K
), и тогда он будет корректно завершен в SIGINT, хотя это также повлияет на ваше обычное взаимодействие с выходным потоком.
В противном случае просто stty sane; tput reset
введите после вашей команды kill.