linux之task_struct
每個(gè)進(jìn)程中都有一個(gè)進(jìn)程控制塊--PCB。PCB--維護(hù)進(jìn)程相關(guān)的信息。然而,linux內(nèi)核的進(jìn)程控制塊就是task_struct結(jié)構(gòu)體,它可以保存進(jìn)程的信息。
所有運(yùn)行在系統(tǒng)里的進(jìn)程都以task_struct鏈表的形式存在內(nèi)核里。
每個(gè)進(jìn)程都將它的信息放在task_struct結(jié)構(gòu)體中,既然它是一個(gè)結(jié)構(gòu)體,那么它里邊包含些什么內(nèi)容呢?
》》
1.進(jìn)程標(biāo)識(shí)符:
pid:進(jìn)程
ppid:父進(jìn)程
ppid ? ? ? ? pid
運(yùn)行(R)的為父進(jìn)程;僵死狀態(tài)(Z)的為子進(jìn)程。
2.進(jìn)程狀態(tài):
常見(jiàn)的進(jìn)程狀態(tài)有:R(運(yùn)行狀態(tài)),S(可中斷的休眠狀態(tài)),D(不可中斷的休眠狀態(tài)),T(停止?fàn)顟B(tài)),t(暫停狀態(tài)),
x(死亡狀態(tài)),Z(僵死狀態(tài))
s:
3.進(jìn)程優(yōu)先級(jí):
進(jìn)程cpu資源分配的優(yōu)先。進(jìn)程的優(yōu)先級(jí)的值越小,越早被執(zhí)行。用PRI來(lái)表示。。
在這里,還有一個(gè)概念是NI。
NI是不是優(yōu)先級(jí)呢?當(dāng)然不是啦。但是它是影響優(yōu)先級(jí)變化的一個(gè)因素(nice(nice -n -5 +可執(zhí)行程序名),renice(renice -5 -p +進(jìn)程號(hào)))。公式這樣來(lái)表示:PRI(new)=PRI(old)+nice。
nice的使用:
nice -n -5 +可執(zhí)行程序 ?就可以改變它的優(yōu)先級(jí)啦。
還是舉個(gè)例子吧:
按照上面的步驟執(zhí)行,最終就通過(guò)nice將它的優(yōu)先級(jí)改變了哦。
當(dāng)然你想改變它的優(yōu)先級(jí)只需要調(diào)整nice的大小即可。
總結(jié)
以上是生活随笔為你收集整理的linux之task_struct的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux-----强大的find
- 下一篇: linux--几种常见的进程调度算法