1、什么是進程
(1)開發(fā)代碼稱之為程序歪脏,將開發(fā)的代碼運行起來,稱為進程
(2)當運行一個程序粮呢,那么將運行的程序叫進城
(3)當程序運行為進程后婿失,系統(tǒng)會該進程分配內存,以及進程的身份和權限
(4)在進程的過程中啄寡,系統(tǒng)會有各種指標來表示當前運行的狀態(tài)豪硅。
2、程序和進程的區(qū)別
(1)程序是數(shù)據(jù)和指令的集合挺物,是一個靜態(tài)的概念懒浮。如:/bin/ls和/bin/cp等二進制文件,同時程序可以長期存在系統(tǒng)里识藤。
(2)進程是程序運行的過程砚著,是一個動態(tài)的概念,晉城市存在生命周期的概念的痴昧,進程會隨著程序的終止而銷毀稽穆,不會永久存在系統(tǒng)里。
3赶撰、進程的生命周期
生命周期是指以個對象的生老病死舌镶,它的用處很廣泛。
當父進程接收到任務調度時豪娜,會通過foc派子進程來處理餐胀,那么子進程會繼承父進程屬性
(1)子進程在處理任務代碼時,父進程會進入等待狀態(tài)…
(2)子進程在處理任務代碼時侵歇,會執(zhí)行退出骂澄,然后喚醒父進程來回收子進程的資源
(3)如果子進程在處理任務過程中吓蘑,父進程退出惕虑,子進程沒有退出,那么這些子進程就沒有父進程來管理了磨镶,就成了僵尸進程溃蔫。
注:每個進程都是父進程的PPID,子進程則是PID
3琳猫、監(jiān)控進程狀態(tài)
程序在運行后伟叛,需要了解進程的運行狀態(tài)。查看進程的狀態(tài)分為:靜態(tài)和動態(tài)
(1)使用ps命令查看當前的進程狀態(tài)(靜態(tài))
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 1.4 128408 6984 ? Ss 08:07 0:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 08:07 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 08:07 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 08:07 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? R 08:07 0:00 [kworker/u256:0]
root 7 0.0 0.0 0 0 ? S 08:07 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 08:07 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? R 08:07 0:01 [rcu_sched]
root 10 0.0 0.0 0 0 ? S< 08:07 0:00 [lru-add-drain]
root 11 0.0 0.0 0 0 ? S 08:07 0:00 [watchdog/0]
root 13 0.0 0.0 0 0 ? S 08:07 0:00 [kdevtmpfs]
root 14 0.0 0.0 0 0 ? S< 08:07 0:00 [netns]
狀 態(tài) 描 述
USER 啟動進程的用戶
PID 進程運行的ID
%CPU 進程占用CPU百分比
%MEM 進程占用內存百分比
VSZ 進程占用虛擬內存大衅晟(單位KB)
RSS 進程占用物理內存時間大型彻巍(單位KB)
TTY 進程是有那個終端運行啟動的tty1紊遵、pts/0等 ? 表示內核程序與終端無關
STAT 進程運行過程中的狀態(tài) man ps (/STATE)
START 進程的啟動時間
TIME 進程占用CPU的總時間(為0表示還沒超過秒)
COMMAND 程序的運行指令侥蒙,【】屬于內核狀態(tài)的進程暗膜。沒有【】使用戶進程
(2)STAT狀態(tài)意思
圖片.png
(3)top使用
[root@yangdan ~]# top
top - 17:38:20 up 9:30, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
Tasks:101 total 任務總數(shù) 1 running 有進程正在運行
100 sleeping 100個睡眠
0 stopped 掛起,停止
0 zomnie 僵尸進程
0.0 us 進程占用cpu的百分比(用戶進程)
0.0 sy 內核進程 (硬件)
0.0 ni 優(yōu)先級的進程占用cpu的百分比
100.0 id 空閑的進程
0.0 wa 大量的等待-->
0.0 hi 硬中斷
0.0 si 軟中斷
0.0 st 虛擬機占用物理cpu的時間