1.什么是進程?
運行的程序叫進程额港。
2.程序與進程之間有什么區(qū)別?
①程序是數(shù)據(jù)和指令的集合伤极,是一個靜態(tài)的概念。同時程序可以長期存在系統(tǒng)中肚豺。
②進程是程序運行的過程,是一個動態(tài)的概念党瓮。進程是存在生命周期的概念的详炬,也就是說進程會隨著程序的終止而銷毀,不會永久存在系統(tǒng)中寞奸。
3.進程的生命周期?
生老病死
①當父進程接收到任務調度時,會通過fock派生子進程來處理在跳,那么子進程會繼承父進程屬性枪萄。
②子進程在處理任務代碼時,父進程會進入等待狀態(tài)中...
③子進程在處理任務代碼后猫妙,會執(zhí)行退出瓷翻,然后喚醒父進程來回收子進程的資源。
④如果子進程在處理任務過程中,父進程退出了齐帚,子進程沒有退出妒牙,那么這些子進程就沒有父進程來管理了,就變成僵尸進程对妄。
注: 每個進程都父進程的PPID湘今,子進程則叫PID。
4.進程運行的狀態(tài)指標?
狀態(tài):靜態(tài)|動態(tài)
①.使用ps命令查看當前的進程狀態(tài)(靜態(tài))
第一列顯示
用戶剪菱、PID摩瞎、占用cpu百分比、占用內存百分比孝常、狀態(tài)旗们、執(zhí)行的命令等
②.STAT狀態(tài)的S、Ss构灸、Ss+上渴、S<、S喜颁、S+驰贷、R、R+洛巢、D括袒、T、Z等等稿茉,都是什么意思?
ps aux|grep oldboy? ? #S表示睡眠模式锹锰,+表示前臺運行
ps aux|grep oldboy? ? #T表示停止狀態(tài)
③.使用top命令查看當前的進程狀態(tài)(動態(tài))
任務? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?含義
Tasks: 129 total? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 當然進程的總數(shù)
1 running? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 正在運行的進程數(shù)
128 sleeping? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?睡眠的進程數(shù)
0 stopped? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?停止的進程數(shù)
0 zombie? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 僵尸進程數(shù)
%Cpu(s): 0.7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? us系統(tǒng)用戶進程使用CPU百分比
0.7 sy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 內核中的進程占用CPU百分比,通常內核是于硬件進行交互
98.7 id? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 空閑CPU的百分比
0.0 wa? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CPU等待IO完成的時間
0.0 hi? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 硬中斷漓库,占的CPU百分比
0.0 si? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 軟中斷恃慧,占的CPU百分比
0.0 st? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?比如虛擬機占用物理CPU的時間
top常見指令
字母? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?含義
h? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看幫出
1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數(shù)字1,顯示所有CPU核心的負載
z? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 以高亮顯示數(shù)據(jù)
b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 高亮顯示處于R狀態(tài)的進程
M? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?按內存使用百分比排序輸出
P? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 按CPU使用百分比排序輸出
q? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?退出top
5.管理進程狀態(tài)
關閉進程
kill渺蒿、還有killall痢士,pkill
①使用kill -l列出當前系統(tǒng)所支持的信號
常用的
數(shù)字編號? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?信號含義? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?信號翻譯
1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SIGHUP? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 通常用來重新加載配置文件
9? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SIGKILL? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 強制殺死進程
15? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SIGTERM? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 終止進程,默認kill使用該信號
kill -9 強殺
平均負載
6.進程中的iowait 軟中斷 硬中斷?
Linux 中的中斷處理程序分為上半部和下半部:
上半部對應硬件中斷茂装,用來快速處理中斷怠蹂。
下半部對應軟中斷,用來異步處理上半部未完成的工作少态。
Linux 中的軟中斷包括網絡收發(fā)城侧、定時、調度彼妻、等各種類型嫌佑,可以通過查看 /proc/softirqs 來觀察軟中斷的運行情況豆茫。