Linux下的程序優先順序,環境變數及相關操作

2021-10-07 17:41:32 字數 1274 閱讀 7841

程序優先順序就是指乙個程序對cpu資源獲取的優先權(權級其實就是乙個數字),優先權高的就會優先執行。

那麼為什麼要有程序優先順序呢?

因為配置程序的優先權對於多工環境的linux非常有用,可以大大改善系統效能。

通常情況下,我們較常遇見的有互動式程序和批處理程序。

互動式程序:直接與使用者進行互動的程序

批處理程序:在後台默默做迴圈工作的程序

一般情況下,要求互動式程序優先順序較高,能夠更加優先的被cpu處理(如果不這樣做,使用者的乙個操作可能會響應緩慢,體驗效果較差)

因此,程序優先順序最大的作用就是讓作業系統執行的更加良好。

環境變數就是指配置系統執行環境引數的變數,在作業系統中用來指定作業系統執行環境的一些引數。

舉乙個例子,在我們的c/c++當中,鏈結的時候我們不需要知道其動態庫和靜態庫在**,但是依然可以鏈結成功,生成可執行程式。這其實就是有相關的環境變數幫助編譯器進行查詢。

也就是說環境變數能夠使系統執行環境配置更加簡單靈活,可以通過設定環境變數給乙個程序傳遞引數資訊

關於環境變數的基本操作

檢視環境變數:env

set可以檢視所有變數,包括環境變數

echo $name 可以檢視指定的(name)環境變數

設定環境變數:export

刪除環境變數:unset

在**中環境變數的操作

main函式的第三個引數

int main(int argc, char* ar**, char* env);//env儲存環境變數

for (i = 0; env[i] != null; i++)
通過乙個全域性變數

extern char** environ;//environ儲存環境變數
for (i = 0; environ[i] != null; i++) 

使用getenv

char* getenv(const char* name);//通過環境變數名稱獲取乙個指定環境變數的資料
char *ptr = getenv("myval");//myval為環境變數名稱

if (ptr != null) else

Linux程序優先順序和調整優先順序

linux 是乙個多使用者 多工的作業系統,系統中通常執行著非常多的程序。但是 cpu 在乙個時鐘週期內只能運算一條指令 現在的 cpu 採用了多執行緒 多核心技術,所以在乙個時鐘週期內可以運算多條指令。但是同時運算的指令數也遠遠小於系統中的程序總數 那問題來了 誰應該先運算,誰應該後運算呢?這就需...

Linux 程序優先順序以及環境變數

程序優先順序是乙個程序對於cpu資源獲取的優先權 存在優先順序的原因 互動式程序 直接與使用者進行互動的程序 要求能被cpu優先處理 批處理程序 在後台有週期性迴圈工作的程序 優先順序的作用 讓作業系統執行的更加良好 優先順序就是乙個數值,數值越小優先順序越高。建立乙個能容下140個程序的佇列,每個...

程序優先順序

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