Я думаю, что многое из него имеет отношение к рекламе производительности. Приложение, записанное на скомпилированном языке (C, C++...), собирается работать чертовски много лучше, чем один записанный на языке сценария (жемчуг, Python...).
Но это также набрасывается на совместимость. Приложение, записанное в языке сценариев, также, вероятно, будет более портативным через архитектуру и OSs с мало ни к какой модификации.
Обычно, когда Вы перезагружаете, машина возвратится к личинке и или позволит, Вы, чтобы выбрать ядро через клавиатуру или загрузить значение по умолчанию настроили ядро. Однако, если Вам установят kexec-инструменты, то команда перезагрузки сорвет это поведение и непосредственно kexec в ядро. Можно отключить это поведение и возвратиться для расчистки в перезагрузке путем удаления kexec инструментов или редактирования файла
/etc/default/kexec
и установка:
LOAD_KEXEC=false
С другой стороны, чтобы сохранить kexec активный и иметь его перезагрузка в ядро по Вашему выбору, попробуйте командную строку как это для загрузки желаемого ядра:
kexec -l /boot/vmlinux --append=root=/dev/hda1 --initrd=/boot/initrd
затем, когда 'kexec-e' позже выполняется, настроенное ядро в kexec строке также будет выполнено. Поскольку я полагаю, что сценарий перезагрузки в конечном счете просто называет 'kexec-e', я полагаю, что изменение ядра должно вступить в силу затем.
Я нашел довольно изящное сообщение здесь. Это содержит сценарий для вызова kexec вручную. Перерегистрация сценария здесь:
UNAMER=`uname -r` # this checks the version of the kernel
#just to save typing
#This just puts all of the parameters for loading in one place
KPARAMS="-l " # tells kexec to load the kernel
# --append tells the kernel all of its parameters
# cat /proc/cmdline gets the current kernel's command line
KPARAMS=$KPARAMS"--append=\"`cat /proc/cmdline`\" "
# this tells the kernel what initrd image to use
KPARAMS=$KPARAMS"--initrd=/boot/initrd.img-$UNAMER "
# this tells the kexec what kernel to load
KPARAMS=$KPARAMS"/boot/vmlinuz-$UNAMER"
# Message should end with a newline since kFreeBSD may
# print more stuff (see #323749)
log_action_msg "Will now restart"
if [ -x `locate kexec | grep sbin` ]; then # check for the kexec executable
kexec $KPARAMS # load the kernel with the correct parameters
sync # sync all of the disks so as not to lose data
umount -a # make sure all disks are unmounted
kexec -e # reboot the kernel
fi
#This next line should never happen.
reboot -d -f -i
locate
с which
управляйте и также удалите log_action_msg
строка.
– ARH
22.02.2015, 19:32