Неожиданное отключение с помощью «нажатой клавиши питания». Журнал

Это потому, что * имел другое значение в ваших тестах.

В случае 1 , случае 3 и случае 4 он используется как сопоставление с образцом . В случае 2 это метасимвол регулярного выражения (или квантор, или звезда Клини ).

При сопоставлении с образцом символ * будет соответствовать любой строке, включая пустую строку, a * будет соответствовать любой строке, начинающейся с a , пример a , aa , ab , но не b

В регулярном выражении квантификатор * соответствует нулю или более вхождений предыдущего токена , a * будет соответствовать нулю или более последовательностей a , например '' , a , aa , aaa , ab , b .

Имея это в виду, ваш case 4 будет интерпретироваться как соответствует любой строке, содержащей - , поскольку он использовался как сопоставление с образцом, ваше объяснение является используется как регулярное выражение.

Итак, abcd - 1234-defg , самое короткое совпадение подстроки * - * - abcd- , а самое длинное совпадение - это вся строка. Поскольку, когда вы используете форму $ {var1 # * - *} , которая представляет собой расширение параметра , чтобы удалить самый короткий префикс в , $ var1 соответствует * - * , вы получили -1234-defg , потому что самый короткий совпавший префикс - abcd- .

0
09.07.2018, 20:38
1 ответ

Самый очевидный ответ, конечно же, что кто-то нажал кнопку питания. Возможно, случайно — например, если кнопка питания, к сожалению, чувствительна, и кто-то слегка задел ее, проходя мимо. Это также может произойти с неисправной кнопкой питания (, например, изношены пружины ). Случайные нажатия кнопки питания можно предотвратить, установив на кнопку питания своего рода защитный кожух Молли .

Запрос корректного завершения работы, например, от IPMI, часто также регистрируется как нажатие кнопки питания.

Другой причиной может быть (электрический )шум, заставляющий систему думать, что кнопка питания нажата. Убедитесь, что провода к кнопке питания надежно закреплены на плате (и переключателе, если они не припаяны ), и проверьте прокладку кабелей, чтобы убедиться, что провода находятся вдали от предметов с большим/переменным энергопотреблением.

Если больше ничего не работает, вы можете отредактировать /etc/systemd/logind.confи изменить HandlePowerKeyна ignore(, а затем перезапустить systemd -logind ). Это должно предотвратить выключение системы, но это означает, что вы не сможете использовать кнопку питания, чтобы инициировать чистое завершение работы (удержание -в течение -4 -секунд нечистое завершение работы, если таковые имеются, их нельзя отключить через systemd, поскольку это делается системной прошивкой ).

7
28.01.2020, 02:18

Теги

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