溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux:檢查當(dāng)前運(yùn)行級(jí)別的五種方法

發(fā)布時(shí)間:2020-08-06 22:50:37 來(lái)源:ITPUB博客 閱讀:155 作者:夢(mèng)共里醉 欄目:建站服務(wù)器
運(yùn)行級(jí)就是 Linux 操作系統(tǒng)當(dāng)前正在運(yùn)行的功能級(jí)別。存在七個(gè)運(yùn)行級(jí)別,編號(hào)從0到6。系統(tǒng)可以引導(dǎo)到任何給定的運(yùn)行級(jí)別。運(yùn)行級(jí)別由數(shù)字標(biāo)識(shí)。

每個(gè)運(yùn)行級(jí)別指定不同的系統(tǒng)配置,并允許訪問(wèn)不同的進(jìn)程組合。默認(rèn)情況下,Linux會(huì)引導(dǎo)至運(yùn)行級(jí)別3或運(yùn)行級(jí)別5。啟動(dòng)時(shí)一次只執(zhí)行一個(gè)運(yùn)行級(jí)別。它不會(huì)一個(gè)接一個(gè)地執(zhí)行。
系統(tǒng)的默認(rèn)運(yùn)行級(jí)別在SysVinit系統(tǒng)的/etc/inittab文件中指定。
但是systemd系統(tǒng)不讀取此文件,它使用以下文件/etc/systemd/system/default.target來(lái)獲取默認(rèn)的運(yùn)行級(jí)別信息。
我們可以使用以下五種方法檢查 Linux系統(tǒng) 當(dāng)前運(yùn)行級(jí)別。
runlevel 命令 : runlevel 打印系統(tǒng)的上一個(gè)和當(dāng)前運(yùn)行級(jí)別。
who 命令 :打印有關(guān)當(dāng)前登錄用戶的信息。它將使用“ -r ”選項(xiàng)打印運(yùn)行級(jí)別信息。
systemctl 命令:它控制 systemd 系統(tǒng)和服務(wù)管理器。
使用 /etc/inittab 文件:系統(tǒng)的默認(rèn)運(yùn)行級(jí)別在 SysVinit System /etc/inittab 文件中指定。
使用 /etc/systemd/system/default.target 文件:系統(tǒng)的默認(rèn)運(yùn)行級(jí)別在 systemd System /etc/systemd/system/default.target 文件中指定。
詳細(xì)的運(yùn)行級(jí)別信息在下表中描述。
Linux:檢查當(dāng)前運(yùn)行級(jí)別的五種方法
系統(tǒng)將根據(jù)運(yùn)行級(jí)別執(zhí)行程序/服務(wù)。

1、對(duì)于SysVinit系統(tǒng),它將從以下位置執(zhí)行:
運(yùn)行級(jí)別0 - /etc/rc.d/rc0.d/
運(yùn)行級(jí)別1 - /etc/rc.d/rc1.d/
運(yùn)行級(jí)別2 - /etc/rc.d/rc2.d/
運(yùn)行級(jí)別3 - /etc/rc.d/rc3.d/
運(yùn)行級(jí)別4 - /etc/rc.d/rc4.d/
運(yùn)行級(jí)別5 - /etc/rc.d/rc5.d/
運(yùn)行級(jí)別6 - /etc/rc.d/rc6.d/
2、對(duì)于systemd系統(tǒng),它將從以下位置執(zhí)行:
runlevel1.target – /etc/systemd/system/rescue.target
runlevel2.target – /etc/systemd/system/multi-user.target.wants
runlevel3.target – /etc/systemd/system/multi-user.target.wants
runlevel4.target – /etc/systemd/system/multi-user.target.wants
runlevel5.target – /etc/systemd/system/graphical.target.wants
1、使用runlevel命令

runlevel 打印系統(tǒng)的上一個(gè)和當(dāng)前運(yùn)行級(jí)別:

[linuxidc@localhost linuxidc.com]$ runlevel

N 5
1]、N:“N”表示自系統(tǒng)啟動(dòng)后運(yùn)行級(jí)別尚未更改。
2]、5:“5”表示系統(tǒng)的當(dāng)前運(yùn)行級(jí)別。
Linux:檢查當(dāng)前運(yùn)行級(jí)別的五種方法

2、使用who命令

打印有關(guān)當(dāng)前登錄用戶的信息,它將使用-r選項(xiàng)打印運(yùn)行級(jí)別信息:
[linuxidc@localhost linuxidc.com]$ who -r
運(yùn)行級(jí)別 5

3、使用 systemctl 命令

systemctl 用于控制systemd系統(tǒng)和服務(wù)管理器,systemd是Unix操作系統(tǒng)的系統(tǒng)和服務(wù)管理器。它可以作為 sysvinit 系統(tǒng)的直接替代品, systemd 是內(nèi)核啟動(dòng)并保持PID 1的第一個(gè)進(jìn)程。 systemd 使用.service文件而不是bash 腳本 (SysVinit使用),systemd將所有守護(hù)進(jìn)程排序到他們自己的 Linux cgroup 中,可以通過(guò)瀏覽 /cgroup/systemd 文件來(lái)查看系統(tǒng)層次結(jié)構(gòu):

[linuxidc@localhost linuxidc.com]$ systemctl get-default
graphical.target
4、使用/etc/inittab文件

系統(tǒng)的默認(rèn)運(yùn)行級(jí)別在 SysVinit System /etc/inittab 文件中指定,但systemd不讀取文件,因此,它僅適用于SysVinit系統(tǒng)而不適用于systemd系統(tǒng)。

CentOS  6是通過(guò)修改/etc/inittab來(lái)修改默認(rèn)運(yùn)行級(jí)別的:
[root@localhost ~]# vim /etc/inittab
# inittab is only used by upstart for the default runlevel.
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
# System initialization is started by /etc/init/rcS.conf
# Individual runlevels are started by /etc/init/rc.conf
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
id:5:initdefault:
在CentOS 7下運(yùn)行vim /etc/inittab結(jié)果如下:
[linuxidc@localhost linuxidc.com]$ vim /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target

可以看到,里面除了注釋,什么也沒(méi)有,并沒(méi)有CentOS 6中設(shè)置默認(rèn)運(yùn)行級(jí)別的方式。
注釋內(nèi)容大意是說(shuō),

# multi-user.target類似于runlevel 3;
# graphical.target類似于runlevel5

獲得當(dāng)前默認(rèn)運(yùn)行級(jí)別的方式為

systemctl get-default

設(shè)置默認(rèn)運(yùn)行級(jí)別的方式

systemctl set-default TARGET.target

設(shè)置運(yùn)行級(jí)別命令格式:

systemctl [command] [unit.target]

需要命令  systemctl
設(shè)置默認(rèn)的運(yùn)行級(jí)別為 1 則命令為: systemctl set-default xxx
中對(duì)系統(tǒng)的級(jí)別對(duì)應(yīng)是

init級(jí)別 systemctl target
0 shutdown.target
1 emergency.target
2 rescure.target
3 multi-user.target
4 無(wú)
5 graphical.target
6 無(wú)

備注:以上命令均需要超級(jí)管理員權(quán)限,如果需要臨時(shí)切換 直接  init  + 需要切換到的數(shù)字。

5、使用/etc/systemd/system/default.target文件

系統(tǒng)的默認(rèn)運(yùn)行級(jí)別在systemd System的/etc/systemd/system/default.target文件中指定,它不適用于SysVinit系統(tǒng):

[linuxidc@localhost linuxidc.com]$ cat /etc/systemd/system/default.target


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI