進程管理
寫在開頭:
- Linux中,每個執行的程序都成爲一個進程,每個進程均會分配一個ID號。
- 每一個進程,都會對應一個父進程,父進程可以複製多個子進程。
進程查詢
ps
指令是用來查看目前系統中那些進程正在執行以及執行的狀況。
ps -a
,顯示當前終端所有的進程信息ps -u
,以用戶的格式顯示進程信息ps -x
,顯示後臺進程允許的參數
經常使用指令:ps-aux | grep [condition]
指令列表字段含義表:
字段 | 含義 |
---|---|
USER |
用戶名 |
PID |
進程ID號 |
%CPU |
進程佔用CPU百分比 |
%MEM |
進程佔用物理內存百分比 |
VSZ |
進程佔用虛擬內存大小(KB) |
RSS |
進程佔用物理內存大小(KB) |
TTY |
終端名稱,縮寫 |
STAT |
進程狀態,s:睡眠 、s:該進程是會話的進程 ,N:表示進程擁有比普通優先級更低的優先級 ,R:正在運行 ,D:短期等待 ,Z:僵死進程 ,T:被跟蹤或被停止 |
START |
進程的啓動時間 |
TIME |
CPU時間,進程使用CPU的總時間 |
COMMAND |
啓動進程所需要的命令及參數 |
查看進程的父進程:ps -ef
,其中PPID
爲父進程的進程ID號
查看進程樹:pstree -p/-u
,-p
顯示進程的PID,-u
,顯示進程的所屬用戶
終止進程
kill -9 [ID]
,強制終止進程,-9
爲強制線程終止。- 終止遠程登錄(sshd,其CMD爲:/usr/sbin/sshd)服務:
kill [sshdのID]
- 終止遠程登錄(sshd,其CMD爲:/usr/sbin/sshd)服務:
killall [name]
,終止多個進程(常用於終止子進程較多的父進程)
動態進程監控
top
指令可以動態查詢進程的運行狀況
top -d[seconds]
,指定top命令每隔幾秒更新,默認3秒。top -i
,不顯示閒置或僵死進程。top -p[ID]
,通過在指定的進程ID來監控指定進程的狀態。
監控網絡狀態
netstat
指令
netstat -anp | grep serviceName
,查看具體服務的網絡服務狀況
服務管理(守護進程管理)
服務管理指令
- 服務啓動、停止、狀態、重加載指令:
service [serviceName] [ start | stop | status | reload ]
需要注意,在CentOS7後,service
指令使用systemctl
替換
- 查看服務名
setup -> 系統服務
ls -l /etc/init.d/
服務自啓動/關閉
每個服務在不同的運行級別下的服務自啓動狀況均需要設置
chkconfig
指令
- 查看服務:
chkconfig --list | grep serviceName
、chkconfig serviceName --list
- 設置服務在不同運行級別下的自啓動/關閉:
chkconfig [--level 5(指定規定運行級別,不指定則爲所有運行級別下的設置)] serviceName off/on
,設置完成後reboot
生效。