LINUX.ORG.RU

Процесс перезагрузки Linux.


0

2

Я хотел узнать каким образом происходит перезагрузки в Linux по команде reboot. Она перезагружает систему напрямую или вызывает уровень выполнения (runlevel) 6? Если зависит от дистрибутива, то я имею в виду ванильный busybox.

Deleted

Последнее исправление: romeo250501 (всего исправлений: 1)

А что значит напрямую? Обычно 6 runlevel просто вызывается.

UVV ★★★★★
()

Я поискал в гугле за тебя: http://git.busybox.net/busybox/tree/init/halt.c#n148

if (!ENABLE_FEATURE_CALL_TELINIT) {
				/* bbox init assumed */
				rc = kill(1, signals[which]);
			} else {
				/* SysV style init assumed */
				/* runlevels:
				 * 0 == shutdown
				 * 6 == reboot */
				execlp(CONFIG_TELINIT_PATH,
						CONFIG_TELINIT_PATH,
						which == 2 ? "6" : "0",
						(char *)NULL
				);
				bb_perror_msg_and_die("can't execute '%s'",
						CONFIG_TELINIT_PATH);
			}

Т.е. вызывается runlevel 6.

yurikoles ★★★
()
┌─[sergey@Home] - [~] - [2014-01-06 07:45:17]
└─[0] ls -l `which reboot`
lrwxrwxrwx 1 root root 9 дек 15 17:56 /usr/bin/reboot -> systemctl

Если зависит от дистрибутива, то я имею в виду ванильный busybox.

Выдержка из man busybox:

reboot
    reboot [-d delay] [-n] [-f]

    Reboot the system

    Options:

    -d      Delay interval for rebooting
    -n      No call to sync()
    -f      Force reboot (don't go through init)       # Как бы намекает.

Axon ★★★★★
()
Последнее исправление: Axon (всего исправлений: 1)

Ну наверное от системы инициализации зависит.

IPR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.