mce :аппаратная ошибка процессора 0 проверка компьютера 0 банк 0. Система просто зависает, все просто останавливается, включая мышь в Linux Mint XFCE 20

Вместо синтаксического анализа ls, и если вы можете положиться на внешнюю statутилиту и bash v4+ (для ассоциативных массивов ), вы могли бы собрать список файлов по inode, а затем собрать список самые последние индексные дескрипторы, затем создайте массив имен файлов:

shopt -s nocaseglob extglob
declare -a filesbyinode=()
for f in *.@(jpg|png); do filesbyinode[$(stat -c %i "$f")]=$f; done
[ ${#filesbyinode[@]} -gt 0 ] || return
declare wantedfiles=()
for inodes in $(stat -c '%Y %i' *.@(jpg|png) | sort -k1,1rn | awk '{print $2}' | head -10)
do 
  wantedfiles+=("${filesbyinode[$inodes]}")
done
declare -p wantedfiles

Первый шаг — установить две опции оболочки:

  • nocaseglob--это позволяет подстановочному знаку jpgтакже соответствоватьJPGJpGи...)
  • extglob--это позволяет использовать @(jpg|png), что означает :совпадающие имена файлов могут заканчиваться на jpgилиpng(в соответствии с nocaseglob, выше)

Затем мы создали пустой ассоциативный массив, который индексирует имена файлов по их инодам.

Последующий цикл forстроит массив filesbyinodeс индексами инодов (, результатом выполнения команды stat), и именами файлов в качестве значений.

Если файлов нет, мы спасаемся с помощьюreturn--корректируем это в соответствии с вашей ситуацией (возможно, if/else ).

Затем мы объявляем (обычный массив )для хранения интересующих нас файлов. Следующий цикл forперебирает 10 самых последних инодов и добавляет соответствующие имена файлов в массив. 10 самых последних инодов определяются путем раскрытия того же подстановочного знака, что и раньше, но с запросом только времени модификации (в секундах с начала эпохи )и инодов; после сортировки по времени модификации в поле #1 (самый большой/самый последний первый ), мы отделяем иноды в поле #2 с awkи захватываем 10 лучших из них с head.

В качестве демонстрации того, что код безопасен для файлов с разными именами:

for i in $(seq 1 10); do touch $RANDOM.jpg $RANDOM.png $RANDOM.txt; sleep 1.1; done
touch x.jpg '[x].jpg' 'a?b.jpg' 'a*b.jpg' '$( echo boom ).jpg' 
touch single\'quote.jpg double\"quote back\\slash.jpg '*.jpg' ②.jpg

... вывод:

declare -a wantedfiles=([0]="②.jpg" [1]="*.jpg" [2]="single'quote.jpg" [3]="back\\slash.jpg" [4]=$'X\240Y.jpg' [5]="[x].jpg" [6]="a?b.jpg" [7]="a*b.jpg" [8]="\$( echo boom ).jpg" [9]="25396.jpg")

(изменить последнее имя файла для того, что $RANDOMпридумал ).

1
20.10.2020, 13:50
1 ответ

Я получил решение, я упустил некоторые важные детали, при загрузке в Mint небольшое сообщение об ошибке мелькало несколько раз в течение 1 -2 секунд, говоря mce: hardware error cpu 0 machine check 0 bank 0.

Это может происходить по некоторым причинам:

  1. Перегрев ЦП или необратимое повреждение ЦП.
  2. Ошибка видеопамяти/ОЗУ.

В моем случае это произошло из-за того, что я установил ОЗУ с разной частотой, я хотел обновить свою ОЗУ и не знал, какая частота ОЗУ была установлена ​​до -. Я поместил новую оперативную память объемом 800 мгц во второй слот, через несколько дней у меня возникла эта проблема.

Другой причиной может быть повреждение старой карты памяти. Поэтому попробуйте заменить одну или несколько планок оперативной памяти.

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

Надеюсь, этот ответ помог, потому что в Интернете очень мало информации по этой теме.

2
18.03.2021, 23:03

Теги

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