В упомянутом вами руководстве говорится, что должна быть выполнена следующая команда:
grub2-set-default 1
Однако, глядя на вывод предыдущей команды:
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
Результаты в:
Red Hat Enterprise Linux Server (3.10.0-693.el7.x86_64) 7.3 (Maipo) <-- Entry 0
Red Hat Enterprise Linux Server (3.10.0-514.el7.x86_64) 7.3 (Maipo) <-- Entry 1
Установка ядра по умолчанию на запись 1 загрузит более старое ядро, поэтому вместо использования
grub2-set-default 1
Используйте:
grub2-set-default 0
На оболочку, которая изначально называлась «пользовательский интерфейс» системы, была возложена ответственность за выполнение программ (или задач ). Чтобы вызвать задачу, оболочка, в свою очередь, попросит ядро выполнить задачу. Ядро управляет памятью, которую будет использовать задача, и разрешениями на чтение или запись в файлы. Чтобы попросить ядро «выполнить» программу, основной метод состоит в том, чтобы разветвить новую задачу (, которая дает ей новый PID (номер процесса )), а затем выполнить новая программа внутри этого нового PID. Ядро получит список аргументов:
int execve(const char *filename, char *const argv[], char *const envp[]);
В основном просит ядро выполнить filename
с аргументами argv[]
. Ядро делает то, что его просят, и когда программа завершает работу, управление возвращается родительскому процессу.
Взяв оболочку в качестве исполнителя программ, очевидно, что она может также выполнять текстовые файлы, понятные некоторым интерпретаторам. Это механизм шебанга #! /interpreter
, который понимает и ядро.
Итак,оболочка может (, а иногда и )"выполнить сценарий", но наиболее естественной последовательностью выполнения является запрос ядра сделать то же, что и с любой другой программой, :загрузить программу и передать ей управление процессом (ПИД ).
Ожидается, что любая программа, выполняемая внутри другого PID, не загрязняет родительский PPID. То есть :изменения в одном PID не влияют на родительский PID.
Таким образом, когда выполняется "скрипт", он (обычно )получает новый PID. Называется ли он подоболочкой или дочерней оболочкой, это иногда сбивает с толку, но важно то, что он работает внутри другого PID. Обычно это дочерний процесс (PID ).