一、程序的各種狀態
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的百分比...