Команда 'сброса' вытирает память сессии, используемую командами?

Существует a reset команда, которую я могу использовать в ударе, который я думаю, является частью core-utils. Это очищает RAM, используемую предыдущими командами от Терминального сеанса?

Я имею в виду все записанное в терминал и память, используемую командами.

4
задан 14 April 2017 в 18:12

2 ответа

От man reset:

reset - reinitialization
       When  invoked  as  reset,  tset  sets  cooked and echo modes, turns off
       cbreak and raw modes, turns on newline translation and resets any unset
       special  characters  to  their default values before doing the terminal
       initialization described above.  This is useful after  a  program  dies
       leaving a terminal in an abnormal state.[...]

, Таким образом, это полностью повторно инициализирует терминальный сеанс, в котором Вы находитесь, производя чистку всех данных (это будет все еще сохранено это ~/.bash_history, хотя, удалите это, если Вы чувствуете себя скрытными). Если Вы просто хотите перезагрузить настройки, можно работать . ~/.bashrc. Если Вы просто хотите иметь пустое окно терминала без сброса, работать clear или совершить нападки Ctrl + L.

4
ответ дан 1 December 2019 в 09:21

reset прибывает от ncurses, не coreutils.

Это сбрасывает много свойств терминала, но далеко не всех. Также во многих эмуляторах терминала, включая последние версии терминала гнома, это также очищает весь буфер scrollback в том смысле, что это больше не доступно через UI, например, использование полосы прокрутки.

я не уверен, что Вы подразумеваете под RAM (я имею в виду, я, очевидно, знаю то, что она обозначает, но я не вполне получаю, какой аспект Вы спрашиваете).

эмулятор терминала А свободен реализовать желаемое поведение всегда, это хочет. Например, это могло бы использовать язык программирования или библиотеку со сборкой "мусора", в этом случае Вы едва имеете любой контроль, когда данные на самом деле исчезают из RAM.

Терминал GNOME имеет очень сложную реализацию scrollback истории. Немного больше, чем обычно видимые строки (т.е. принятие Вас не прокручивал назад) сохранены в RAM. После некоторой точки данные, это было прокручено, преобразовываются в другой формат (все еще в RAM), обрабатываются в пакетном режиме до больших блоков, когда-то полный блок заполнен, затем сжат, зашифрован и записан на диске. (Все это принятие vte-0.40 или более новый; более старые версии очень отличались.), Но это находится все еще в RAM процесса до чего-то еще (т.е. еще больше данных в терминале) занимает его место. Также существует кэш считывания, где он мог бы присутствовать.

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

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

Так, позвольте мне предположить, что Вы на самом деле не заботитесь о RAM, Вы заботитесь о пользователе о видимом поведении для "постоянных" пользователей. Раз так затем да, после reset нет никакого способа возвратить те данные.

2
ответ дан 1 December 2019 в 09:21

Другие вопросы по тегам:

Похожие вопросы: