基本介紹
1,在linux中,每個執行的程序(代碼)都稱爲一個進程。每一個進程都分配一個ID號。
2,每一個進程,都會對應一個父進程,而這個父進程可以複製多個子進程。例如www服務器。
3,每個進程都可能以兩種方式存在的。前臺與後臺,所謂前臺進程就是用戶目前的屏幕上可以進行操作的。後臺進程則是實際在操作,但由於屏幕上無法看到的進程,通常使用後臺方式執行。
4,一般系統的服務都是以後臺進程的方式存在,而且都會常駐在系統中。直到關機才結束。
顯示系統執行的進程
ps命令是用來查看目前系統中,有哪些正在執行的進程。以及它們執行的狀況。可以不加任何參數。
字段 | 說明 |
---|---|
USER | 用戶名 |
PID | 進程識別號 |
%CPU | 佔用的CPU |
%MEM | 佔用的內存 |
VSZ | 使用的虛擬內存 |
RSS | 使用物理內存情況 |
TTY | 終端機號 |
STAT | 進程的狀態 s:休眠 r:運行 d-短期等待 n-表示進程擁有比普通進程優先級更低的優先級 z-僵死進程,t-被跟蹤或者被停止等等 |
STARTED | 進程的啓動時間 |
TIME | 此進程所消CPU時間 |
CMD | 正在執行的命令或進程名 |
PPID | 父進程ID,通過ps -ef查看父進程 |
ps -a:顯示當前終端的所有進程信息
ps -u:以用戶的格式顯示進程信息
ps -x:顯示後臺進程運行的參數
查看父進程 ps -ef
查看某個進程的父進程 ps -ef | grep xxx
終止進程 kill和killall
若是某個進程執行一半需要停止時,或是已消了很大的系統資源時,此時可以考慮停止該進程。使用kill命令完成此任務。
kill [選項] 進程號(功能描述:通過進程號殺死進程)
killall 進程名稱(功能描述,通過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢時很有用)
-9:表示強迫進程立即停止
查看進程樹 pstree
pstree [選項],可以更加直觀的來看進程信息
-p:顯示進程的PID
-u:顯示進程的所屬用戶
服務管理
服務本質就是進程,但是是運行在後臺,通常都會監聽某個端口,等待其他程序的請求,比如(sshd,mysql,防火牆等),因此我們又
service 服務名 [ start | stop | restart | reload | status ]
在centosOS7.0 後,不再用service,而是systemctl
可以通過telnet指令檢查linux的某個端口是否在監聽並且可以訪問
dos
telnet ip 端口
查看服務名
方式1:使用setup -> 系統服務 就可以看到
方式2:/etc/init.d/服務名稱
服務的運行級別
查看或者默認級別:vi /etc/inittab
Linux系統有7種運行級別(runlevel):常用的是3和5
開機的流程說明:
1,開機
2,BIOS
3,/boot
4,init進程1
5,運行級別
6,運行級別對應的服務
chkconfig指令
通過chkconfig命令可以給每個服務的各個運行級別設置自啓動/關閉
1,查看服務chkconfig --list | grep xxx
2,chkconfig 服務名 --list
3,chkconfig --level 5 服務名 on/off
動態監控進程
top與ps命令很相似。它們都是用來顯示正在執行的進程。top與ps最大的不同之處,在於top在執行一段時間可以更新正在運行的進程。
top [選項]
選項 | 功能 |
---|---|
-d秒數 | 指定top命令每隔幾秒更新。默認是3秒,在top命令的交互模式當中可以執行的命令 |
-i | 使top不顯示任何閒置或者僵死進程。 |
-p | 通過指定監控進程ID來僅僅監控某個進程的狀態 |
交互操作說明
操作 | 功能 |
---|---|
P | 以CPU使用率培訓,默認就是此項 |
M | 以內存的使用率排序 |
N | 以PID排序 |
q | 退出top |
監控網絡狀態
netstat 查看系統網絡情況
netstat [選項]
-an 按一定順序排列輸出
-p 顯示哪個進程在調用
ping 測試主機命令
是一種網絡監測工具,它主要是用於監測遠程主機是否正常,或是兩部主機間的介質是否爲斷、網線是否脫落或網卡故障
ping ip地址