Linux(十二)—— Linux 進程管理

一、Linux 進程管理

1、Linux 進程概述

(1)進程簡介

  • 在LINUX中,每個執行的程序(代碼)都稱爲一個進程。一個進程都分配一個ID號。
  • 每一個進程, 都會對應一個父進程,而這個父進程可以複製多個子進程。例如wwww服務器。
  • 每個進程都可能以兩種方式存在的。前臺與後臺,所謂前臺進程就是用戶目前的屏幕上可以進行操作的。後臺進程則是實際在操作,但由於屏幕上無法看到的進程,通常使用後臺方式執行。
  • 一般系統的服務都是以後臺進程的方式存在,而且都會常駐在系統中,直到關機才才結束。

2、進程指令

(1) ps命令:查看進程,顯示的字段有

  • PID:進程識別號
  • TTY:終端機號
  • TIME:此進程所消CPU時間
  • CMD:正在執行的命令或進程名

ps -a:顯示當前終端的所有進程信息
ps -u:一用戶的格式顯示進程信息
ps -x:顯示後臺進程運行的參數
在這裏插入圖片描述
在這裏插入圖片描述
在上圖的顯示中,

  • USER:表示用戶名
  • PID:表示進程的id
  • %CPU:表示佔用的CPU
  • %MEM:表示佔用的內存百分比
  • VSZ:表示使用的虛擬內存
  • RSS:表示使用的物理內存
  • TTY:表示使用的終端
  • STAT:表示進程的狀態,s表示休眠,r表示運行
  • START:表示進程的啓動時間
  • TIME:表示佔用cpu總時間
  • COMMAND:表示進程執行時的命令行

ps -aux | grep xxx:查看一個具體的進程,如xxx
在這裏插入圖片描述
ps -ef | more:查看父進程
在這裏插入圖片描述
(2)終止進程指令:killkillall

  • kill [選項] 進程號:通過進程號殺死進程
  • killall 進程名稱:通過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢時很有用

常用選項:

  • -9:表示強迫進程立即停止

(3)查看進程樹:pstree

  • pstree [選項]:以樹的形式查看進程

常用選項

  • -p:顯示進程的PID
  • -u:顯示進程的所屬用戶
    在這裏插入圖片描述

二、Linux 服務管理

1、Linux 服務概述

(1)服務(service)本質就是進程,但是是運行在後臺的,通常都會監聽某個端口,等待其它程序的請求,比如(mysql, sshd防火牆等),因此我們又稱爲守護進程

2、Linux 服務管理指令

(1)service管理指令:

  • service服務名 [start | stop| restart | reload| status]
  • 在Centos7.0以後,指令爲systemctl,而不是``service

示例

  • 停止/啓動/查看防火牆
    在這裏插入圖片描述
    (2)setup指令設置服務自動啓動
  • 執行setup指令進入以下界面
    在這裏插入圖片描述
  • 選擇系統服務,進入下面的界面,在這裏就可以設置需要自動啓動的服務,帶*號的都是可以自動啓動的服務。
    在這裏插入圖片描述
    (3)/etc/init.d/指令:查詢服務
    在這裏插入圖片描述
    (4)vi/etc/inittab指令:查看/修改服務的默認運行級別
    ① 服務的運行級別
  • 運行級別0:系統停機狀態,系統默認運行級別不能設爲0,否則不能正常啓動
  • 運行級別1:單用戶工作狀態,用於root權限,用於系統維護,該運行級別禁止遠程登陸
  • 運行級別2:多用戶狀態(沒有NFS),不支持網絡連接
  • 運行級別3:完全的多用戶狀態(有NFS),登錄後進入控制檯命令行模式
  • 運行級別4:系統未使用,保留
  • 運行級別5:X11控制檯,登陸後進入圖形GUI模式
  • 運行級別6:系統正常關閉並重啓,默認運行級別不能設置爲6,否則系統不能正常啓動

② 開機流程
開機 >> BIOS >> /boot >> init進程 >> 運行級別 >> 運行級別對應的服務
在這裏插入圖片描述
(5)chkconfig指令:給每個服務的各個運行級別設置自啓動/關閉

  • chkconfig --list | grep xxx:查看所有的服務的自啓動狀態
    在這裏插入圖片描述
  • chkconfig [服務名] --list:查看某個服務的自啓動狀態
    在這裏插入圖片描述
  • chkconfig --level 5 [服務名] on/off:指定查看某個服務的指定運行級別的自啓動狀態
    在這裏插入圖片描述

三、Linux 監控服務

(1)top指令:動態監控進程
top與ps.命令很相似。它們都用來顯示正在執行的進程。Top與ps最大的不同之處,在於top在執行一段時間可以更新正在運行的的進程。

  • top [選項]

常用選項

  • -d 秒數:指定top命令每隔幾秒更新,默認是3秒在top命令的交互模式當中可以執行的命令
  • -i:使top不顯示任何閒置或者僵死進程.
  • -p:遇過指定監控進程ID來僅僅監控某個進程的狀態。

交互操作說明

  • P:以CPU使用率排序,默認就是此項
  • M:以內存的使用率排序
  • N:以PID排序
  • q:退出top

示例
在這裏插入圖片描述
上圖中

  • 20:57:25:當前時間
  • 38 min:系統已運行時間
  • 2 users:當前登錄用戶數
  • load average: 0.00,0.00,0. 00:負載均衡
  • Tasks :285 total:總進程數
  • 1 running 284:正在運行進程數
  • 0 stopped:已停止進程數
  • 0 zombie:殭屍進程數
  • Cpu(s) 0. 0%us:用戶佔用cpu
  • 0.1%sy:系統佔用cpu
  • 99.9%id:空閒cpu
  • Mem:代表當前內存使用情況
  • Swap:Swap分區

(2)netstat指令:查看系統網絡情況

  • netstat [選項]

選項說明

  • -an:按一定順序排列輸出
  • -p:顯示哪個進程在調用
    在這裏插入圖片描述

(3)ping指令:檢測主機連接命令
這是一種網絡檢測檢測工具,它主要是用檢測遠程主機是否正常,或是兩部主機間的介質是否爲斷、網線是否脫落或網卡故障,如: ping對方ip地址I

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章