一、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)終止進程指令:kill
和 killall
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
:用戶佔用cpu0.1%sy
:系統佔用cpu99.9%id
:空閒cpuMem
:代表當前內存使用情況Swap
:Swap分區
(2)netstat
指令:查看系統網絡情況
netstat [選項]
選項說明
-an
:按一定順序排列輸出-p
:顯示哪個進程在調用
(3)ping
指令:檢測主機連接命令
這是一種網絡檢測檢測工具,它主要是用檢測遠程主機是否正常,或是兩部主機間的介質是否爲斷、網線是否脫落或網卡故障,如: ping對方ip地址I