程序狀態及優先順序

2021-08-17 03:59:45 字數 1830 閱讀 1311

一、程序的各種狀態

1、r執行狀態(runing):並不意味著程序一定在執行中,它表明程序要麼在執行要麼在執行佇列裡

2、s睡眠狀態(sleeping):意味著程序在等待著事件完成

3、d磁碟休眠狀態(disk sleep):有時候也叫不可中斷睡眠狀態,在這個狀態的程序通常會等待i/o的結束

4、t停止狀態(stopped):可以通過傳送sigstop訊號給程序來終止(t)程序。這個被暫停的程序可以通過傳送sigcont訊號讓程序繼續執行

5、x死亡程序(dead):這個狀態只是乙個返回狀態。你不會在任務列表裡看到這個狀態

6、z殭屍程序(zomble)

·殭屍程序是乙個比較特殊的狀態。當程序退出並且父程序(使用wait()系統呼叫)沒有讀到子程序退出的返回**是就會產生殭屍程序

·殭屍狀態會以終止狀態保持在程序表中,並且一直在等待程序讀取退出狀態**

·只要子程序退出,父程序還在執行,但父程序沒有讀取子程序狀態,子程序進入z狀態

1 #include2 #include3 #include4 #include5 

6 int main()

7 13 else if(id == 0)

17 else

21 return 0;

22 }

7、孤兒程序

·父程序如果提前退出,那麼子程序後退出進入z狀態後該如何處理?

·父程序先退出,子程序就被稱之為「孤兒程序」。

·孤兒程序被1號init程序領養

1 #include2 #include3 #include4 #include5 

6 int main()

7 13 else if(id == 0)

17 else

21 return 0;

22 }

二、程序狀態修改

#include2 

3 int main()

4

·kill -l:檢視系統支援的訊號列表

·kill -sigcont pid:收到訊號

三、優先順序的基本概念

·cpu資源分配的先後順序,就是指程序的有限權

·優先權高的程序有優先執行的權利。配置程序優先權對多工環境的linux很有用,可以改善系統效能

·可以把程序執行到指定的cpu上,把不重要的程序安排到某個cpu。可以大大改善系統整體效能

四、檢視系統程序

·uid:代表執行者的身份

·pid:代表這個程序的代號

·ppid:代表這個程序是由那個程序發展衍生而來的,即父程序的代號

·pri:代表這個程序可被執行的優先順序,其值越小越早被執行

·ni:代表這個程序的nice值(即程序可被執行的優先順序的修正數值)

五、修改程序的優先順序命令

#includeint main()

return 0;

}

1、啟動程序前調整:nice

2、調整已經存在的程序的nice值:renice

3、用top命令更改已存在程序的nice :

·top

·進入top後按『r』->進入pid  ->輸入nice值

程序概念 狀態 優先順序

一 計算機硬體知識 1 馮 諾依曼體系 a 運算器 控制器 cpu b 輸入裝置和輸出裝置屬於外設 除cpu和記憶體外的都是外設 c 儲存器 記憶體 不包括硬碟等 d 對於資料訊號,外設只能直接和儲存器打交道,cpu也只能直接和儲存器打交道 cpu不能直接與外設聯絡 e 以在扣扣上傳送訊息為例,步驟...

程序優先順序

程序的優先順序可以通過setpriority nice修改優先順序。程序分為普通程序和實時程序。實時程序的優先順序比普通程序的優先順序高。nice的值 20 19值越小優先順序越高。預設為0 不同程序的執行緒優先順序?執行緒會繼承程序的優先順序,核心的排程是執行緒。所以先看程序是普通程序還是實時程序...

程序優先順序

用top或者ps命令會輸出pri pr ni ni nice這三種指標值,這些到底是什麼東西?先給出大概的解釋如下 pri 程序優先權,代表這個程序可被執行的優先順序,其值越小,優先順序就越高,越早被執行 ni 程序nice值,代表這個程序的優先值 nice 改變過優先順序的程序的占用cpu的百分比...