Я удивлен. Насколько я понимаю, завершение PID 1 вызывает панику ядра . Я могу рассказать вам, что произошло в том случае.
Режим паники можно настроить. С параметрами по умолчанию вы получите цикл , который выглядит именно так, как вы говорите.
Используемая функция задержки задокументирована как «ожидание занятости -». Не ожидается переход в режим энергосбережения -, сохраняющий состояния сна ЦП, используемые при нормальном бездействии ОС.
Если вы посмотрите на след, напечатанный паникой, я думаю, вы увидите, что все это происходит внутри sys_exit()
. Я думаю, что технически PID 1 не уничтожается, он просто никогда не возвращается после выполнения этого системного вызова. Любые другие процессоры останавливаются первыми.
(Существует что-то, называемое "загрузочным бездействующим потоком" . Я не вижу его участия в этом процессе. AFAICT вы никогда не сможете увидеть эту ветку. И если вы хотите понимать это как бездействующий поток, вам также нужно спросить, что обеспечивает бездействующий поток для других процессоров, когда они подключены к сети ).
Попробуйте:
openssl x509 -noout -serial -in cert.pem | cut -d'=' -f2 | sed 's/../&:/g;s/:$//'
openssl x509 -noout -serial -in cert.pem
выведет серийный номер сертификата, но в формате serial=0123456709AB
.
Таким образом, он передается в cut -d'=' -f2
, который разделяет вывод на знак равенства и выводит вторую часть-0123456709AB
.
Это отправлено sed
. Первая часть команды sed
s/../&:/g
разбивает строку через каждые два символа(..
)и вставляет двоеточие (:
). Это приводит к01:23:45:67:89:AB:
(обратите внимание на двоеточие в конце ).
Вторая часть команды sed
(s/:$//
)ищет двоеточие в конце вывода и заменяет его пустой строкой, что приводит к желаемому результату.
Или только для ответов openssl
и sed
:
openssl x509 -noout -serial -in test2.crt | sed 's/.*=//g;s/../&:/g;s/:$//'
Добавление s/.*=//g
в начале команды sed
заменяет cut
в первой версии.