十一:進程管理;
1:進程的基本介紹;
- 在 LINUX 中,每個執行的程序(代碼)都稱爲一個進程。每一個進程都分配一個 ID 號。
- 每一個進程,都會對應一個父進程,而這個父進程可以複製多個子進程。例如 www 服務器。
- 每個進程都可能以兩種方式存在的。前臺與後臺,所謂前臺進程就是用戶目前的屏幕上可以進行操作的。後臺進程則是實際在操作,但由於屏幕上無法看到的進程,通常使用後臺方式執行。
- 一般系統的服務都是以後臺進程的方式存在,而且都會常駐在系統中。直到關機才才結束。
2:顯示系統執行的進程;
查看進行使用的指令是 ps ,一般來說使用的參數是 ps -aux
ps指令詳解;
指令:ps –aux|grep sshd ,比如我看看有沒有 sshd 服務
- System V 展示風格
- USER:用戶名稱
- PID:進程號
- %CPU:進程佔用 CPU 的百分比
- %MEM:進程佔用物理內存的百分比
- VSZ:進程佔用的虛擬內存大小(單位:KB)
- RSS:進程佔用的物理內存大小(單位:KB)
- TT:終端名稱,縮寫 .
- STAT:進程狀態,其中 S-睡眠,s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短期等待,Z-僵死進程,T-被跟蹤或者被停止等等
- STARTED:進程的啓動時間
- TIME:CPU 時間,即進程使用 CPU 的總時間
- COMMAND:啓動進程所用的命令和參數,如果過長會被截斷顯示
查看父進程:ps -ef,以全格式顯示當前所有的進程,查看進程的父進程。
- -e 顯示所有進程。-f 全格式。
- UID:用戶 ID
- PID:進程 ID
- PPID:父進程 ID
- C:CPU 用於計算執行優先級的因子。數值越大,表明進程是 CPU 密集型運算,執行優先級會降低;數值越小,表明進程是 I/O 密集型運算,執行優先級會提高
- STIME:進程啓動的時間
- TTY:完整的終端名稱
- TIME:CPU 時間
- CMD:啓動進程所用的命令和參數
3:終止進程kill和killall
1:介紹;
若是某個進程執行一半需要停止時,或是已消了很大的系統資源時,此時可以考慮停止該進程。使用 kill 命令來完成此項任務
2:基本語法;
kill [選項] 進程號(功能描述:通過進程號殺死進程)
killall 進程名稱(功能描述:通過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢時很有用)
3:常用選項:
-9 :表示強迫進程立即停止
4:實踐案例;
案例 1:踢掉某個非法登錄用戶
案例 2: 終止遠程登錄服務 sshd, 在適當時候再次重啓 sshd 服務
案例 3: 終止多個 gedit 編輯器 【killall , 通過進程名稱來終止進程】
案例 4:強制殺掉一個終端
4:查看進程樹;
基本語法
pstree 【選項】,可以更加直觀的查看進程的信息;
-p :顯示進程的 PID
-u :顯示進程的所屬用戶
案例;
5:服務(Service)管理
1:介紹;
服務(service) 本質就是進程,但是是運行在後臺的,通常都會監聽某個端口,等待其它程序的請求,比如(mysql , sshd 防火牆等),因此我們又稱爲守護進程,是 Linux 中非常重要的知識點。【原理圖】
在 CentOS7.0 後 不再使用 service ,而是 systemctl
2:service管理指令;
service 服務名 【start | stop | restart | reload | status】
查看當前防火牆的狀況,關閉防火牆和重啓防火牆。
這種方式只是臨時生效,當重啓系統後,還是迴歸以前對服務的設置。如果希望設置某個服務自啓動或關閉永久生效,要使用 chkconfig 指令
3:windows下查看linux端口是否可以連接通;
在win10左下方搜索“啓用或者關閉windows功能”,裏面開啓telnet功能;
4:查看服務名;
方式 1:使用 setup -> 系統服務 就可以看到。
方式2:/etc/init.d/服務名稱;
Linux 系統有 7 種運行級別(runlevel):常用的是級別 3 和 5
- 運行級別 0:系統停機狀態,系統默認運行級別不能設爲 0,否則不能正常啓動
- 運行級別 1:單用戶工作狀態,root 權限,用於系統維護,禁止遠程登陸
- 運行級別 2:多用戶狀態(沒有 NFS),不支持網絡
- 運行級別 3:完全的多用戶狀態(有 NFS),登陸後進入控制檯命令行模式
- 運行級別 4:系統未使用,保留
- 運行級別 5:X11 控制檯,登陸後進入圖形 GUI 模式
- 運行級別 6:系統正常關閉並重啓,默認運行級別不能設爲 6,否則不能正常啓動
開啓啓動啓動流程;
6:動態監控進程;
介紹;top 與 ps 命令很相似。它們都用來顯示正在執行的進程。Top 與 ps 最大的不同之處,在於 top 在執行一段時間可以更新正在運行的的進程
基本語法;top 【選項】
選項說明;
應用實例;
案例 1.監視特定用戶
top:輸入此命令,按回車鍵,查看執行的進程。
u:然後輸入“u”回車,再輸入用戶名,即可
案例2:終止指定的進程;
top:輸入此命令,按回車鍵,查看執行的進程。
然後輸入k,輸入進程號,結束該進程;
7:查看系統網絡情況 netstat(重要)
基本語法
netstat [選項]
netstat -anp
選項說明
-an 按一定順序排列輸出
-p 顯示哪個進程在調用