亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統啟動與服務管理的方法是什么

發布時間:2022-01-28 13:51:56 來源:億速云 閱讀:154 作者:iii 欄目:建站服務器

今天小編給大家分享一下Linux系統啟動與服務管理的方法是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

Linux系統啟動與服務管理的方法是什么

1. 前言

??服務器在正常的運行過程中,一般很少重啟,但是如果發生了未知故障或者遇到了人為誤操作的情況,可能就會出現啟動異常的狀況。雖然 Linux 系統啟動流程是比較底層的知識了,但是為了加深對 Linux 系統的理解,總結了這篇文章。

2. Linux 系統啟動過程

Linux系統啟動與服務管理的方法是什么

2.1 開機自檢

??服務器主機開機以后,將根據主板 BIOS 中的設置對 CPU、內存、顯卡、硬盤等設備進行初步檢測,檢測成功后根據預設的啟動順序移交系統控制權,大多時候會移交給本機硬盤。

2.2 MBR 引導

??當從本機硬盤中啟動系統時,首先根據硬盤第一個扇區中 MBR (主引導記錄)的設置,將系統控制權傳遞給包含操作系統引導文件的分區;或者直接根據 MBR 記錄中的引導信息調用啟動菜單(如GRUB) 。

2.3 GRUB 菜單

??對于Linux操作系統來說,GRUB (統一啟動加載器)是使用最為廣泛的多系統引導器程序。系統控制權傳遞給 GRUB 以后,將會顯示啟動菜單給用戶選擇,并根據所選項(或采用默認值)加載 Linux 內核文件,然后將系統控制權轉交給內核。需要注意的是,Centos7 采用的是 GRUB2 啟動引導器。

2.4 加載 Linux 內核

??Linux 內核是一個預先編譯好的特殊二進制文件,介于各種硬件資源與系統程序之間, 負責資源分配與調度。內核接過系統控制權以后,將完全掌控整個 Linux 操作系統的運行過程。
在CentoS 系統中,默認的內核文件位于"/boot/vmlinuz-3.10.0-514.el7.x86_64"。

2.5 init 進程初始化

??為了完成進一步的系統引導過程,Linux 內核首先將系統中的 “/sbin/init” 程序加載到內存中運行,init 進程負責完成一系列的系統初始化過程,最后等待用戶進行登錄。

2.6 系統啟動過程總結

  • 檢測出第一個能夠引導系統的設備比如硬盤或光驅

  • 運行放在 MBR 扇區里的啟動 GRUB 引導程序

  • GRUB 引導程序通過讀取 GRUB 配置文件 /boot/grub2/grub.cfg 來獲取內核和鏡像文件系統的設置以及路徑位置

  • 把內核和鏡像文件系統加載到內存中

  • 加載硬件驅動程序,內核把 init 進程加載到內存中運行

3. init 進程與 systemd

3.1 init 進程

  • 由 Linux 內核加載運行 /sbin/init 程序

  • init 進程是系統中第一個進程

  • init 進程的 PID 號永遠為 1

[root@c7-1 ~]#ll /sbin/initlrwxrwxrwx. 1 root root 22 8月  13 21:44 /sbin/init -> ../lib/systemd/systemd

3.2 Centos5/6/7 init 進程對比

Linux系統啟動與服務管理的方法是什么

3.3 systemd

  • systemd 是 Linux 操作系統的一種 init 軟件

  • CentOS7 中采用全新的 systemd 啟動方式,取代傳統的 SysVinit

  • CentOS7 中運行的第一個 init 進程是 /lib/systemd/systemd

[root@c7-1 ~]#ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 8月15 ?       00:00:31 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2      0  0 8月15 ?       00:00:00 [kthreadd]
root          4      2  0 8月15 ?       00:00:00 [kworker/0:0H]
root          6      2  0 8月15 ?       00:00:00 [ksoftirqd/0]
root          7      2  0 8月15 ?       00:00:00 [migration/0]
......

3.4 systemd 單元類型

單元類型擴展名說明
Service.service描述一個系統服務
Socket.socket描述一個進程間通信的套接字
Device.device描述一個內核識別的設備文件
Mount.mount描述一個文件系統的掛載點
Automount.automount描述一個文件系統的自動掛載點
Swap.swap描述一個內存交換設備或交換文件
Path.path描述一個文件系統中文件或目錄
Timer.timer描述一個定時器(用于實現類似 cron 的調度任務)
Snapshot.snapshot用于保存一個 systemd 的狀態
Scope.scope使用 systemd 的總線接口以編程的方式創建外部進程
Slice.slice描述居于 Cgroup 的一組通過層次組織的管理系統進程
Target.target描述一組 systemd 的單元

3.5 運行級別對應的 systemd 目標

運行級別systemd 的 target說明
0target關機狀態,使用該級別時將會關閉主機
1rescue.target單用戶模式,不需要密碼驗證即可登錄系統,多用于系統維護
2multi-user.target用戶定義/域特定運行級別。默認等同于3
3multi-user.target字符界面的完整多用戶模式,大多數服務器主機運行在此級別
4multi-user.target用戶定義/域特定運行級別。默認等同于3
5graphical.target圖形界面的多用戶模式,提供了圖形桌面操作環境
6reboot.target重新啟動,使用該級別時將會重啟主機

3.6 systemd 管理命令 systemctl

格式:

systemctl COMMAND name.service		#.service 也可以省略

Sysvinit 和 Systemd 命令對比

Sysvinit命令Systemd命令含義
service name startsystemctl start name啟動服務
service name stopsystemctl stop name關閉服務
service name restartsystemctl restart name重啟服務不管當前是啟動還是關閉狀態
service name reloadsystemctl reload name重新載入服務配置信息而不中斷服務
service name condrestartsystemctl condrestart name運行狀態的服務可以重啟,不在運行狀態無法重啟
service name statussystemctl status name查看服務的運行狀態
chkconfig name onsystemctl enable name設置服務為開機自啟動
chkconfig name offsystemctl disable name設置服務為開機關閉
chkconfig namesystemctl is-enabled name檢查服務是否開機自啟
chkconfig name --addsystemctl daemon-reload創建一個新服務文件,或者變更配置的時候使用

示例:

#啟動 httpd 服務
systemctl start httpd 
#停止 httpd 服務
systemctl stop httpd
#重啟 httpd 服務
systemctl restart httpd
#查看 httpd 服務狀態
systemctl status httpd
#禁止自動和手動啟動服務(可以關閉運行的服務)
systemctl mask name.service	
#取消禁止
systemctl unmask name.service
#查看某服務當前是否正在運行
systemctl is-active name.service
#查看所有服務
systemctl list-unit-files --type=service
#查看所有已經激活的服務
systemctl list-unit-files --type=service | grep enabled
#列出啟動失敗的服務
systemctl --failed --type=service
或
systemctl list-units --state failed
或
systemctl list-unit-files --state=failed
#開啟 httpd 服務并設置開機自啟
systemctl enable --now httpd.service
#關閉 httpd 服務并關閉開機自啟
systemctl disable --now httpd.service
#查看服務的依賴關系
systemctl list-dependencies name.service
#殺掉進程
systemctl kill unitname

以上就是“Linux系統啟動與服務管理的方法是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

靖边县| 抚州市| 赤峰市| 田东县| 赫章县| 台前县| 南宫市| 芦山县| 江西省| 盖州市| 班戈县| 宁德市| 张家界市| 无锡市| 白河县| 宜兰市| 蓬安县| 斗六市| 阿图什市| 兰西县| 澄迈县| 崇明县| 玉环县| 深圳市| 芜湖市| 青冈县| 汪清县| 清涧县| 双峰县| 高雄县| 收藏| 从化市| 宾川县| 花垣县| 永康市| 曲周县| 蕲春县| 岳阳市| 阳曲县| 梧州市| 怀安县|