最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux系統(tǒng)管理與進(jìn)程任務(wù)管理方式

 更新時(shí)間:2025年08月18日 09:03:05   作者:Z18252142908  
本文系統(tǒng)講解Linux管理核心技能,涵蓋引導(dǎo)流程、服務(wù)控制(Systemd與GRUB2)、進(jìn)程管理(前臺(tái)/后臺(tái)運(yùn)行、工具使用)、計(jì)劃任務(wù)(at/cron)及常用命令,強(qiáng)調(diào)實(shí)踐與工具優(yōu)化對(duì)構(gòu)建高效穩(wěn)定Linux環(huán)境的重要性

引言

Linux作為服務(wù)器領(lǐng)域的主流操作系統(tǒng),其強(qiáng)大的系統(tǒng)管理能力和靈活的任務(wù)調(diào)度機(jī)制是每位系統(tǒng)管理員必須掌握的技能。

本文將全面解析Linux系統(tǒng)的引導(dǎo)過程、服務(wù)控制、進(jìn)程管理以及計(jì)劃任務(wù)設(shè)置,幫助讀者構(gòu)建完整的Linux系統(tǒng)管理知識(shí)體系。

一、Linux系統(tǒng)引導(dǎo)過程與服務(wù)控制

1.1 系統(tǒng)引導(dǎo)的五個(gè)關(guān)鍵階段

Linux系統(tǒng)的啟動(dòng)是一個(gè)精心設(shè)計(jì)的鏈?zhǔn)竭^程:

  1. 開機(jī)自檢:開機(jī)后,通過BIOS對(duì)硬件進(jìn)行初步檢測(cè),確定第一個(gè)啟動(dòng)設(shè)備進(jìn)行引導(dǎo)
  2. MBR引導(dǎo):從硬盤第一個(gè)扇區(qū)加載MBR(主引導(dǎo)記錄),啟動(dòng)GRUB引導(dǎo)程序
  3. GRUB引導(dǎo)菜單:讀取/boot/grub2/grub.cfg配置文件,加載并啟動(dòng)操作系統(tǒng)內(nèi)核
  4. 加載Linux內(nèi)核:將內(nèi)核文件和鏡像文件加載到內(nèi)存
  5. init進(jìn)程初始化:內(nèi)核加載并啟動(dòng) init 進(jìn)程,完成系統(tǒng)的初始化。

整個(gè)過程可以想象成:

  • 1.早上醒來活動(dòng)身體,檢查身體是否有不適
  • 2.查看日程表,決定今天要做什么
  • 3.起床洗漱準(zhǔn)備,選擇當(dāng)日著裝、早餐
  • 4.頭腦清醒后集中注意力,整理代辦事項(xiàng),準(zhǔn)備眼鏡、鑰匙、手機(jī)等工具
  • 5.正式開始一天工作

1.2 GRUB2的進(jìn)化優(yōu)勢(shì)

相比傳統(tǒng)GRUB,GRUB2具有顯著改進(jìn):

  • 支持ext4、btrfs、xfs等多種現(xiàn)代文件系統(tǒng)
  • 模塊化設(shè)計(jì)減小了核心鏡像體積
  • 配置文件位置變更為/boot/grub2/grub.cfg
  • 支持更靈活的啟動(dòng)參數(shù)配置

1.3 Systemd的優(yōu)點(diǎn)

Systemd作為新一代初始化系統(tǒng),解決了傳統(tǒng)SysVinit的痛點(diǎn):

關(guān)鍵優(yōu)勢(shì)包括:

  • 并行啟動(dòng):顯著縮短系統(tǒng)啟動(dòng)時(shí)間
  • 按需啟動(dòng):減少不必要的資源占用

總結(jié):Systemd 改善了系統(tǒng)的啟動(dòng)速度和服務(wù)管理效率,解決了 SysVinit 啟動(dòng)慢和腳本復(fù)雜的問題。

1.4 Systemd單元類型

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

1.5 運(yùn)行級(jí)別與systemd目標(biāo)

#查看運(yùn)行級(jí)別
runlevel命令

systemctl工具
#臨時(shí)切換運(yùn)行級(jí)別
init命令

systemctl工具

Systemd用target替代了傳統(tǒng)的運(yùn)行級(jí)別概念:

運(yùn)行級(jí)別Target單元用途
0poweroff.target關(guān)機(jī)
1rescue.target單用戶救援模式
3multi-user.target多用戶文本模式
5graphical.target圖形界面模式
6reboot.target重啟

設(shè)置與切換運(yùn)行級(jí)別:

查看當(dāng)前默認(rèn)目標(biāo)
systemctl get-default

切換到圖形界面
systemctl isolate graphical.target

設(shè)置默認(rèn)目標(biāo)字符化界面
systemctl set-default multi-user.target
  • 單用戶/救援模式

  • 多用戶模式(不帶圖形界面)

  • 圖形界面模式

1.6 系統(tǒng)服務(wù)控制

1、設(shè)置開機(jī)自啟
systemctl enable sshd

2、查看開機(jī)自啟
systemctl is-enabled sshd

3、禁用開機(jī)自啟
systemctl disable sshd

4、查看服務(wù)狀態(tài)
systemctl status sshd

5、啟動(dòng)/關(guān)閉/重啟/重新加載防火墻
systemctl start/stop/restart/reload firewalld.service

6、啟動(dòng)服務(wù)
systemctl list-unit-files | grep enabled

7、臨時(shí)修改主機(jī)名
hostname 主機(jī)名

8、永久修改主機(jī)名
hostnamectl set-hostname newname

9、設(shè)置系統(tǒng)語言為中文
localectl set-locale LANG=zh_CN.utf8

1.7 優(yōu)化啟動(dòng)過程

#ntsysv工具

  • 提供一個(gè)交互式、可視化窗口
  • 可以在字符終端運(yùn)行
  • 便于集中管理多個(gè)服務(wù)

#systemctl工具

  • 不提供交互式、可視化窗口
  • 管理單個(gè)服務(wù)效率更高

二、Linux進(jìn)程管理

2.1 程序與進(jìn)程的本質(zhì)區(qū)別

  • 程序:靜態(tài)存儲(chǔ)在磁盤上的可執(zhí)行代碼(如firefox)
  • 進(jìn)程:程序運(yùn)行的動(dòng)態(tài)實(shí)例,擁有獨(dú)立PID和系統(tǒng)資源

舉例:程序就像是一本寫好的菜譜(靜態(tài)的文本),放在書架上不會(huì)自己動(dòng),進(jìn)程就是廚師按照菜譜一步步烹飪的過程(動(dòng)態(tài)的執(zhí)行),需要用到鍋碗瓢盆等資源。

父進(jìn)程與子進(jìn)程:

  • 父進(jìn)程:是創(chuàng)建其他進(jìn)程的進(jìn)程,就像一個(gè)家長(zhǎng)。
  • 子進(jìn)程:是由父進(jìn)程創(chuàng)建并執(zhí)行的獨(dú)立進(jìn)程,就像子女一樣。

舉個(gè)例子:你打開游戲軟件(父進(jìn)程),它彈出一個(gè)商店窗口(子進(jìn)程),這個(gè)窗口就是父進(jìn)程“生出來”的幫手。

2.2 查看進(jìn)程工具介紹

  1. ps - 靜態(tài)進(jìn)程信息統(tǒng)計(jì)ps(process status)命令用于查看系統(tǒng)中當(dāng)前運(yùn)行的進(jìn)程。它顯示了與進(jìn)程相關(guān)的信息,如進(jìn)程 ID (PID)、用戶、CPU 和內(nèi)存使用率等。
常用選項(xiàng):
ps aux   # 顯示所有進(jìn)程,包括其他用戶的進(jìn)程
ps aux | grep [進(jìn)程名]  # 通過管道和 `grep` 命令過濾進(jìn)程
ps -ef   # 以標(biāo)準(zhǔn)格式顯示所有進(jìn)程

輸出字段解釋:
- USER:進(jìn)程所屬的用戶。
- PID:進(jìn)程 ID。
- %CPU:進(jìn)程占用的 CPU 百分比。
- %MEM:進(jìn)程占用的內(nèi)存百分比。
- VSZ:進(jìn)程使用的虛擬內(nèi)存(單位 KB)。
- RSS:進(jìn)程使用的物理內(nèi)存(單位 KB)。
- TTY:進(jìn)程關(guān)聯(lián)的終端設(shè)備,如:tty1(物理終端)、pts/0(偽終端)……若進(jìn)程未關(guān)聯(lián)終端(如后臺(tái)任務(wù)),該字段可能顯示?或空白
- STAT:進(jìn)程的狀態(tài),常見狀態(tài)有:R(運(yùn)行)、S(睡眠)、Z(僵尸)、T(停止)等。
- START:進(jìn)程的啟動(dòng)時(shí)間。
- TIME:進(jìn)程占用的 CPU 時(shí)間。
- COMMAND:?jiǎn)?dòng)該進(jìn)程的命令。
詳解
STAT:該進(jìn)程的狀態(tài)(D:不可中斷的休眠狀態(tài):R:正在運(yùn)行狀態(tài);S:處于休眠狀態(tài),可被喚醒;T:停止?fàn)顟B(tài),可能是在后臺(tái)暫停或進(jìn)程處于跟蹤調(diào)試狀態(tài): Z:僵尸進(jìn)程,進(jìn)程已經(jīng)中止,但是部分程序還在內(nèi)存當(dāng)中)。
D:系統(tǒng)守護(hù)進(jìn)程
T:調(diào)式、程序執(zhí)行一般停止
R :該程序目前正在運(yùn)作,或者是可被運(yùn)作;
S :該程序目前正在睡眠當(dāng)中 (可說是 idle 狀態(tài)啦!),但可被某些訊號(hào)(signal) 喚醒。
T :該程序目前正在偵測(cè)或者是停止了;
Z :該程序應(yīng)該已經(jīng)終止,但是其父程序卻無法正常的終止他,造成 zombie (疆尸) 程序的狀態(tài)D 不可中斷狀態(tài).
它們含意如下::
<: 表示進(jìn)程運(yùn)行在高優(yōu)先級(jí)上
N: 表示進(jìn)程運(yùn)行在低優(yōu)先級(jí)上
L: 表示進(jìn)程有頁面鎖定在內(nèi)存中
s: 表示進(jìn)程是控制進(jìn)程
l: 表示進(jìn)程是多線程的
+: 表示當(dāng)前進(jìn)程運(yùn)行在前臺(tái)
D:系統(tǒng)守護(hù)進(jìn)程
  1. top - 動(dòng)態(tài)查看進(jìn)程信息top 命令用于動(dòng)態(tài)顯示 Linux 系統(tǒng)中運(yùn)行的進(jìn)程和資源使用情況,實(shí)時(shí)更新顯示。
常用快捷鍵:
按P:以CPU使用率排序
按M:以內(nèi)存使用排序
按T:以時(shí)間排序
按1:顯示多核CPU詳情
按q:退出top

輸出解釋:
- PID:進(jìn)程 ID。
- USER:?jiǎn)?dòng)該進(jìn)程的用戶。
- %CPU:進(jìn)程占用的 CPU 百分比。
- %MEM:進(jìn)程占用的內(nèi)存百分比。
- TIME+:進(jìn)程累計(jì)使用的 CPU 時(shí)間。
- COMMAND:執(zhí)行的命令。
  1. pgrep - 查詢進(jìn)程信息
常用的參數(shù):
-l:選項(xiàng)可同時(shí)輸出對(duì)應(yīng)的進(jìn)程名以及PID
-U:選項(xiàng)查詢特定用戶的進(jìn)程
-t:選項(xiàng)查詢?cè)谔囟ńK端運(yùn)行的進(jìn)程

  1. pstree - 以樹形結(jié)構(gòu)列出進(jìn)程信息
pstree 命令默認(rèn)情況下只是以樹形結(jié)構(gòu)顯示各進(jìn)程的名稱,結(jié)合以下常用的參數(shù)使用:
pstree -p  # 顯示對(duì)應(yīng)PID號(hào)
pstree -u  # 顯示對(duì)應(yīng)用戶名
pstree -a  # 顯示完整命令行

從輸出結(jié)果中可以看出,systemd 進(jìn)程確實(shí)是 Linux 操作系統(tǒng)中所有進(jìn)程的“始祖”。

2.3 進(jìn)程調(diào)度與控制

1.Linux進(jìn)程前后臺(tái)運(yùn)行機(jī)制對(duì)比

特性前臺(tái)運(yùn)行后臺(tái)運(yùn)行
終端控制獨(dú)占終端輸入輸出釋放終端控制權(quán)
交互方式需等待進(jìn)程結(jié)束可立即輸入新命令
信號(hào)響應(yīng)直接接收Ctrl+C中斷需通過kill命令終止
典型場(chǎng)景即時(shí)性命令(ls,grep等)耗時(shí)操作(大文件復(fù)制/編譯)
啟動(dòng)方式直接輸入命令命令末尾添加&符號(hào)

例如,當(dāng)使用 cp 命令從光盤中制作鏡像文件時(shí),由于需要復(fù)制的數(shù)據(jù)較多,耗時(shí)較長(zhǎng),因此可結(jié)合“&” 符號(hào)將復(fù)制操作放到后臺(tái)運(yùn)行,以便用戶可以繼續(xù)執(zhí)行其他命令操作。

2.調(diào)度啟動(dòng)

‌調(diào)度啟動(dòng)的目的‌:在服務(wù)器維護(hù)中,將‌耗時(shí)且占用資源多‌的任務(wù)(如數(shù)據(jù)備份、數(shù)據(jù)庫導(dǎo)出)安排在‌系統(tǒng)相對(duì)空閑時(shí)段‌(如夜間)自動(dòng)執(zhí)行。用戶需‌預(yù)先設(shè)定任務(wù)的具體運(yùn)行時(shí)間‌,系統(tǒng)會(huì)在到達(dá)指定時(shí)間后‌自動(dòng)啟動(dòng)并完成任務(wù)‌。

‌核心特點(diǎn)‌:

  • ‌后臺(tái)運(yùn)行:‌ 調(diào)度啟動(dòng)的計(jì)劃任務(wù)進(jìn)程均在‌后臺(tái)運(yùn)行‌,‌不會(huì)占用用戶的命令終端‌。
  • ‌定時(shí)觸發(fā):‌ 任務(wù)在預(yù)設(shè)的時(shí)間點(diǎn)或周期自動(dòng)觸發(fā)執(zhí)行。
命令‌‌用途
at設(shè)置‌一次性‌執(zhí)行的計(jì)劃任務(wù)
‌crontab‌設(shè)置‌周期性‌重復(fù)執(zhí)行的計(jì)劃任務(wù)

3.前后臺(tái)調(diào)度技巧

Ctrl+Z組合鍵     # 掛起當(dāng)前進(jìn)程
jobs -l         # 列出當(dāng)前所有后臺(tái)任務(wù)及其進(jìn)程 ID
fg %1           # 將后臺(tái)任務(wù)編號(hào)為 1 的任務(wù)帶回前臺(tái)
bg %1           # 將后臺(tái)任務(wù)編號(hào)為 1 的任務(wù)恢復(fù)在后臺(tái)運(yùn)行

4.進(jìn)程終止方法

Ctrl+C組合鍵            # 中斷正在執(zhí)行的命令
kill -9 2248           # 強(qiáng)制終止PID號(hào)為2248的進(jìn)程(不可恢復(fù))
killall vim          # 終止所有名為vim進(jìn)程
pkill -u "python app"  # 終止匹配進(jìn)程

三、計(jì)劃任務(wù)管理

計(jì)劃任務(wù)用于自動(dòng)執(zhí)行系統(tǒng)中的任務(wù)。Linux 中常用的計(jì)劃任務(wù)工具包括 atcron。

3.1 一次性任務(wù):at命令

at 命令用于設(shè)置一次性任務(wù),任務(wù)將在指定時(shí)間執(zhí)行。

命令格式:
at [HH:MM] [yyyy-mm-dd]
at> [要執(zhí)行的命令]
常用選項(xiàng):
atq:列出待執(zhí)行的任務(wù)。
atrm [任務(wù)編號(hào)]:刪除指定的任務(wù)。

3.2 周期性任務(wù):cron系統(tǒng)

cron 用于設(shè)置定期執(zhí)行的任務(wù)。用戶可以通過 crontab 命令編輯和管理自己的計(jì)劃任務(wù)。

命令格式:
* * * * * command
分 時(shí) 日 月 周 命令
順序含義具體要求
1分鐘取值為 0~59 的任意整數(shù)
2小時(shí)取值為 0~23 的任意整數(shù)
3日期取值為 1~31 的任意整數(shù)(日期在該月份中必須有效)
4月份取值為 1~12 的任意整數(shù)
5星期取值為 0~7 的任意整數(shù),0 或 7 代表星期日
6命令可以是普通的命令,也可以是自己編寫的程序腳本
星號(hào)“*”:表示上表要求的任意整數(shù)。
減號(hào)“-”:可以表示一個(gè)連續(xù)的時(shí)間范圍,如“1-4”表示整數(shù) 1、2、3、4。
逗號(hào)“,”:可以表示一個(gè)間隔的不連續(xù)范圍,如“3, 4, 6, 8”。
斜杠符號(hào)“/”:可以用來指定間隔頻率,如在日期字段中的“*/3”表示每隔 3 天。
常用命令:
crontab -e :編輯當(dāng)前用戶的 cron 任務(wù)。
crontab -l :列出當(dāng)前用戶的 cron 任務(wù)。
crontab -r :刪除當(dāng)前用戶的所有 cron 任務(wù)。
crontab -u :指定XX用戶的 cron 服務(wù)。

實(shí)用案例

每天的 7:50 啟動(dòng) sshd 服務(wù),22:50 停止 sshd服務(wù)。

cron服務(wù)管理

啟動(dòng) cron 服務(wù):systemctl start crond
啟用 cron 服務(wù)開機(jī)啟動(dòng):systemctl enable crond
查看 cron 服務(wù)狀態(tài):systemctl status crond

四、常用系統(tǒng)管理命令

4.1date

date 命令用于顯示當(dāng)前的系統(tǒng)日期和時(shí)間,可以指定不同的輸出格式,或用它來設(shè)置系統(tǒng)的日期和時(shí)間。

  • 查看時(shí)間和日期

  • 自定義時(shí)間格式

  • 顯示當(dāng)前時(shí)間戳(1970年1月1日至今的秒數(shù))

  • 設(shè)置系統(tǒng)時(shí)間

  • 與阿里云同步時(shí)間

4.2cal

cal 命令用來顯示當(dāng)前月份或指定月份的日歷,可以方便的查看日期。

  • 查看當(dāng)前月份的日歷:

  • 查看指定年份和月份的日歷:

  • 顯示一整年的日歷:

4.3history

history 命令用來查看當(dāng)前用戶的歷史命令,這個(gè)命令可以幫助你快速找到之前運(yùn)行的命令。

  • 查看命令歷史:

  • 查看歷史命令的特定條目:

  • 使用歷史編號(hào)執(zhí)行命令:

4.4scp

scp 命令用于通過 SSH 協(xié)議在本地和遠(yuǎn)程服務(wù)器之間安全地復(fù)制文件或目錄。它加密了數(shù)據(jù)傳輸,因此更加安全。

  • 將本地文件復(fù)制到遠(yuǎn)程服務(wù)器:

  • 將本地目錄復(fù)制到遠(yuǎn)程服務(wù)器:

總結(jié)

掌握Linux系統(tǒng)管理和進(jìn)程控制是成為合格系統(tǒng)管理員的基石。從系統(tǒng)引導(dǎo)到服務(wù)管理,從進(jìn)程監(jiān)控到任務(wù)調(diào)度,這些技能構(gòu)成了Linux系統(tǒng)運(yùn)維的核心能力框架。建議讀者:

  1. 在測(cè)試環(huán)境練習(xí)各種systemctl命令
  2. 使用crontab設(shè)置實(shí)際需要的定時(shí)任務(wù)
  3. 通過top和ps監(jiān)控系統(tǒng)資源使用情況
  4. 定期審查自動(dòng)啟動(dòng)的服務(wù)項(xiàng)

只有通過持續(xù)實(shí)踐,才能真正掌握這些強(qiáng)大的系統(tǒng)管理工具,構(gòu)建高效穩(wěn)定的Linux運(yùn)行環(huán)境。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

天台县| 申扎县| 彭水| 儋州市| 龙门县| 汝阳县| 龙南县| 古交市| 交城县| 阿坝县| 榕江县| 前郭尔| 昌宁县| 昔阳县| 平乐县| 石屏县| 桂林市| 辉南县| 双鸭山市| 宜宾市| 富平县| 天镇县| 新巴尔虎左旗| 长寿区| 宁强县| 石景山区| 阿勒泰市| 吉安市| 福州市| 萨迦县| 澜沧| 垣曲县| 兰坪| 金平| 盐边县| 彭水| 军事| 宁远县| 塔河县| 丰宁| 慈利县|