中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

建設(shè)網(wǎng)站需要哪些條件中國新聞最新消息

建設(shè)網(wǎng)站需要哪些條件,中國新聞最新消息,淘寶網(wǎng)站建設(shè)規(guī)劃書,各大b2b網(wǎng)站分析進(jìn)程優(yōu)先級 環(huán)境變量 一、進(jìn)程優(yōu)先級1、基本概念2、查看以及修改系統(tǒng)進(jìn)程的優(yōu)先級3、一些其他的關(guān)于進(jìn)程優(yōu)先級的指令和函數(shù)調(diào)用4、與進(jìn)程優(yōu)先級有關(guān)的一些進(jìn)程性質(zhì)二、環(huán)境變量1、基本概念2、和環(huán)境變量相關(guān)的命令3、Linux中的常見環(huán)境變量介紹4、環(huán)境變量的組織方式以及在C代…

進(jìn)程優(yōu)先級 環(huán)境變量

  • 一、進(jìn)程優(yōu)先級
    • 1、基本概念
    • 2、查看以及修改系統(tǒng)進(jìn)程的優(yōu)先級
    • 3、一些其他的關(guān)于進(jìn)程優(yōu)先級的指令和函數(shù)調(diào)用
    • 4、與進(jìn)程優(yōu)先級有關(guān)的一些進(jìn)程性質(zhì)
  • 二、環(huán)境變量
    • 1、基本概念
    • 2、和環(huán)境變量相關(guān)的命令
    • 3、Linux中的常見環(huán)境變量介紹
    • 4、環(huán)境變量的組織方式以及在C代碼中如何獲取環(huán)境變量
    • 5、不同用戶的環(huán)境變量是怎么形成的
    • 6、main()函數(shù)的命令行參數(shù)


一、進(jìn)程優(yōu)先級

1、基本概念

cpu資源分配的先后順序,就是指進(jìn)程的優(yōu)先權(quán)(priority)。
優(yōu)先權(quán)高的進(jìn)程有優(yōu)先執(zhí)行權(quán)利。配置進(jìn)程優(yōu)先權(quán)對多任務(wù)環(huán)境的Linux很有用,可以改善系統(tǒng)性能。
還可以把進(jìn)程運行到指定的CPU上,這樣一來,把不重要的進(jìn)程安排到某個CPU,可以大大改善系統(tǒng)整體性能。

2、查看以及修改系統(tǒng)進(jìn)程的優(yōu)先級

在Linux或者unix系統(tǒng)中,用ps –al命令則會類似輸出以下幾個內(nèi)容,其中:

  • UID : 代表執(zhí)行者的身份
  • PID : 代表這個進(jìn)程的代號
  • PPID :代表這個進(jìn)程是由哪個進(jìn)程發(fā)展衍生而來的,亦即父進(jìn)程的代號
  • PRI :代表這個進(jìn)程可被執(zhí)行的優(yōu)先級,其值越小越早被執(zhí)行
  • NI :代表這個進(jìn)程的nice值,其表示進(jìn)程可被執(zhí)行的優(yōu)先級的修正數(shù)值。
    在這里插入圖片描述
    我們看到我們現(xiàn)在有兩個進(jìn)程 bash ps 它們的進(jìn)程優(yōu)先級都是80,如果我們要修改它們的優(yōu)先級就要用到NI的nice值了。
    PRI(new)=PRI(old)+nicePRI(new)=PRI(old)+nicePRI(new)=PRI(old)+nice

從這個公式中我們知道 新的PRI = 老的PRI + nice值,但是這個老的PRI的值是指PRI最初的默認(rèn)值,例如上面的bash ps 是80,那么這個PRI以后不論怎么改老的PRI都是80,當(dāng)然大多數(shù)進(jìn)程默認(rèn)的PRI都是80。

此外nice是有范圍的!其取值范圍是-20至19,一共40個級別。
于是下面我們?nèi)L試去更改processC進(jìn)程的優(yōu)先級。
注意:將進(jìn)程優(yōu)先級調(diào)高(即將nice值設(shè)置為負(fù)數(shù))需要root用戶進(jìn)行操作!

修改進(jìn)程優(yōu)先級的Linux指令:

  • top命令
  • 進(jìn)入top后按"r" -> 輸入進(jìn)程PID -> 輸入nice值

在這里插入圖片描述

按下 “r”
在這里插入圖片描述

輸入 -20
在這里插入圖片描述

再次查看進(jìn)程的相關(guān)信息:

在這里插入圖片描述

我們發(fā)現(xiàn)進(jìn)程的優(yōu)先級確實改變了,但是我們能改變進(jìn)程優(yōu)先級有限[?20,19][-20,19][?20,19],因為調(diào)度器不允許我們將一個進(jìn)程設(shè)置的優(yōu)先級太高,進(jìn)而導(dǎo)致其他進(jìn)程難以被調(diào)度。

3、一些其他的關(guān)于進(jìn)程優(yōu)先級的指令和函數(shù)調(diào)用

  • nice指令
    nice命令的功能是用于調(diào)整進(jìn)程的優(yōu)先級,合理分配系統(tǒng)資源。
    -n參數(shù)是nice值的優(yōu)先級別,

以nice值為 -5 的方式執(zhí)行指定程序

在這里插入圖片描述

查看進(jìn)程優(yōu)先級

在這里插入圖片描述

  • renice命令可以修改正在運行的進(jìn)程的調(diào)度優(yōu)先級。
    renice更改一個或多個進(jìn)程的調(diào)度優(yōu)先級。第一個參數(shù)是要使用的優(yōu)先級值,另一個參數(shù)被表示為進(jìn)程標(biāo)識信息。
renice [-n] priority [-gpu] identifier

??-g,后面加組的 pgid,改變一個組的進(jìn)程優(yōu)先級
??-u,后面加user name 或 uid,改變一個用戶所擁有的進(jìn)程優(yōu)先級。
?? -p, 后面加pid ,改變一個進(jìn)程的進(jìn)程優(yōu)先級。

在這里插入圖片描述

使用renice命令

在這里插入圖片描述

  • 函數(shù)調(diào)用
    在Linux中關(guān)于改變進(jìn)程優(yōu)先級函數(shù)調(diào)用主要有兩個:getpriority()setpriority(),具體的詳細(xì)使用在這里我們就不做介紹了,如果你有興趣可以看我【Linux】專欄里面的另一篇關(guān)于getpriority()setpriority()的講解。

4、與進(jìn)程優(yōu)先級有關(guān)的一些進(jìn)程性質(zhì)

  • 競爭性: 系統(tǒng)進(jìn)程數(shù)目眾多,而CPU資源只有少量,甚至1個,所以進(jìn)程之間是具有競爭屬性的。為了高效完成任務(wù),更合理競爭相關(guān)資源,便具有了優(yōu)先級
  • 獨立性: 多進(jìn)程運行,需要獨享各種資源,多進(jìn)程運行期間互不干擾。
  • 并行: 多個進(jìn)程在多個CPU下,分別同時進(jìn)行運行,這稱之為并行
  • 并發(fā): 多個進(jìn)程在一個CPU下采用進(jìn)程切換的方式,在一段時間之內(nèi),讓多個進(jìn)程都得以推進(jìn),稱之為并發(fā)

二、環(huán)境變量

1、基本概念

  • 環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來指定操作系統(tǒng)運行環(huán)境的一些參數(shù),環(huán)境變量通常具有某些特殊用途,在系統(tǒng)當(dāng)中通常具有全局特性。

如:我們在編寫C/C++代碼的時候,在鏈接的時候,從來不知道我們的所鏈接的動態(tài)靜態(tài)庫在哪里,但是照樣可以鏈接成功,生成可執(zhí)行程序,原因就是有相關(guān)環(huán)境變量幫助編譯器進(jìn)行查找。

2、和環(huán)境變量相關(guān)的命令

  1. env: 顯示所有環(huán)境變量
    在這里插入圖片描述

  2. echo: 顯示的變量值(需要帶上 $ 符號)
    在這里插入圖片描述

  3. export: 設(shè)置一個新的環(huán)境變量,或者將本地變量提升成環(huán)境變量。
    在這里插入圖片描述

  4. unset: 清除環(huán)境變量
    在這里插入圖片描述

  5. set: 顯示本地定義的shell變量和環(huán)境變量
    在這里插入圖片描述

3、Linux中的常見環(huán)境變量介紹

  • PATH : 指定命令的搜索路徑
    例如我們使用的Linux中 ls pwd命令,其實就是一個個C語言寫的一個個小程序,為什么我們運行自己寫的程序就要用./ + 自己的程序名 ,而我們運行ls pwd 從來不加./,這就和環(huán)境變量PATH有關(guān)了!
    我們查看環(huán)境變量可以使用echo $環(huán)境變量命令:
    在這里插入圖片描述默認(rèn)情況下我們使用的Linux指令會去PATH路徑下尋找源程序,由于ls指令的路徑位置就在PATH的環(huán)境變量中所以我們可以不用加./
    我們現(xiàn)在嘗試將我們的路徑添加到PATH環(huán)境變量里面,來讓我們的程序也不需要加./,這時我們就需要使用一個新的指令了:export
    export令可以將本地變量提升成環(huán)境變量,于是我們將我們的路徑添加到PATH中就可以這樣寫:
 export PATH=$PATH:你要添加的路徑

在這里插入圖片描述
當(dāng)然我們使用export命令是暫時將本地變量提升為環(huán)境變量,當(dāng)我們退出云服務(wù)器或關(guān)機重啟都會消除export暫時提升的環(huán)境變量,想要真正的修改我們要修改相應(yīng)的配置文件。

當(dāng)然我們還可以將我們寫的程序拷貝到Linux的PATH默認(rèn)路徑下,這樣我們也不用使用./了,在Linux中,把可執(zhí)行程序,拷貝到系統(tǒng)默認(rèn)路徑下,讓我們可以直接訪問的方式,相當(dāng)于Linux下軟件的安裝!

  • HOME : 指定用戶的主工作目錄(即用戶登陸到Linux系統(tǒng)中時,默認(rèn)的目錄)
    在這里插入圖片描述
    在這里插入圖片描述
    由于HOME環(huán)境變量的存在,我們使用相同的命令cd ~卻得到了不同的結(jié)果。

  • SHELL : 當(dāng)前Shell,它的值通常是/bin/bash。
    在這里插入圖片描述

4、環(huán)境變量的組織方式以及在C代碼中如何獲取環(huán)境變量

在Shell內(nèi)部,環(huán)境變量其實是以環(huán)境變量表的方式進(jìn)行維護(hù)的!
在這里插入圖片描述
此外環(huán)境變量還具有全局性,我們知道我們在bash下運行的程序其父進(jìn)程都是bash,那么bash就可以將自己的環(huán)境變量傳遞給子進(jìn)程,并在子進(jìn)程中發(fā)揮作用!

我們來看一段代碼來驗證環(huán)境變量具有全局性。

1. C庫函數(shù)getenv()獲得單個環(huán)境變量
在看驗證代碼之前我們先了解一個函數(shù)getenv() getenv()是一個C庫函數(shù),它可以獲取一個環(huán)境變量的內(nèi)容
函數(shù)原型:
在這里插入圖片描述
函數(shù)的參數(shù)是環(huán)境變量的名稱,返回值是一個char*字符串記錄了環(huán)境變量里面的內(nèi)容,如果調(diào)用失敗會返回NULL指針。

實例代碼

#include<stdio.h>    
#include<stdlib.h>   
int main()
{char* env =  getenv("USER");//USER是環(huán)境變量if(env == NULL){perror("getenv fail:");}printf("%s\n",env);return 0;
}

代碼輸出結(jié)果
在這里插入圖片描述
我們在代碼里面多出來的USER變量就是來自Shell傳遞給我們的test1c進(jìn)程的環(huán)境變量!
2. main()函數(shù)參數(shù)獲得環(huán)境變量
此外我們我們還可以用main函數(shù)的參數(shù)來獲得所有環(huán)境變量的地址,通過地址我們也能遍歷所有環(huán)境變量

函數(shù)原型

int main(int argc, char *argv[]char *envp[]);

在這里我們先不談?wù)摵瘮?shù)的參數(shù) argc *argv[],我們來談?wù)摰谌齻€參數(shù)!其中*envp[]是一個字符數(shù)組指針,指向的是一個指針數(shù)組,數(shù)組名代表首元素的地址,首元素是一個字符指針,*envp[]剛好又是指向首元素的指針,故其實*envp[]其實是一個二級指針!

在這里插入圖片描述

明白了這些,我們來看下面一段代碼:

#include<stdio.h>
int main(int argc, int *argv[], int *envp[])
{for(int i =0; envp[i] != NULL ; ++i){//打印所有環(huán)境變量,相當(dāng)于 env 命令!printf("envp[%d]-->%s\n", i, envp[i]);}return 0;
}

在這里插入圖片描述
可以看到我們確實打印出了所有的環(huán)境變量,而且這個環(huán)境變量來自于其父進(jìn)程bash。

3. C語言全局變量environ獲得環(huán)境變量

變量詳情:

在這里插入圖片描述
environ變量是一個二級指針與main()函數(shù)參數(shù)的char *envp[]類似。遍歷所有環(huán)境變量也可以這樣寫:

#include<stdio.h>        
#include<unistd.h>                                                                                                                                          int main()
{extern char** environ;for(int i =0; environ[i] != NULL; ++i){printf("environ[%d]-->%s\n", i, environ[i]);}return 0;
}

在這里插入圖片描述

5、不同用戶的環(huán)境變量是怎么形成的

通過上面的講解我們知道了環(huán)境變量的概念與作用,環(huán)境變量中的每一個,都有自己的用途:有的是進(jìn)行路徑查找的,有的時進(jìn)行身份認(rèn)證的,有的時進(jìn)行動態(tài)庫查找的,有的是用來進(jìn)行確認(rèn)當(dāng)前路徑等等每一個環(huán)境變量都有自己的特定應(yīng)用場景。

我們也知道為什么,對于不同的用戶其環(huán)境變量也并不相同,例如我們上面的root用戶的環(huán)境變量與pan的環(huán)境變量有的一樣有的不一樣,那么Linux是怎樣形成不同的環(huán)境變量的呢?

這里先給出結(jié)論:環(huán)境變量本質(zhì)就是一個內(nèi)存級的一張表,這張表由用戶在登陸會統(tǒng)的時候,給特定用戶形成屬于自己的環(huán)境變量表

在我們的家目錄下有兩個文件叫 .bashrc .bash_profile根目錄下有一個bashrc的文件
在這里插入圖片描述

打開這些文件看看!

在這里插入圖片描述
在這里插入圖片描述

6、main()函數(shù)的命令行參數(shù)

在前面我們談?wù)撝形覀冋f到過main()函數(shù)的參數(shù)問題,我們還有兩個參數(shù)沒有談?wù)?code>int argc char *argv[]?,F(xiàn)在我們來討論它們!

由于C語言中無法傳遞整個數(shù)組,所以在函數(shù)中想要獲得數(shù)組元素的個數(shù)必須在傳參時就要提前傳遞好,于是其中int argc 就是char *argv[]數(shù)組指針指向的數(shù)組的有效元素個數(shù),不包含NULL。

這個char *argv[]是一個數(shù)組指針,其指向的數(shù)組里面存放的都是char *的指針,這些char *的指針指向的內(nèi)容需要我們使用命令行的方式進(jìn)行設(shè)置。

我們先看下面一段代碼:

#include<stdio.h>    
int main(int argc, int *argv[])
{printf("argc = %d\n",argc);for(int i = 0; argv[i] != NULL; ++i){printf("argv[%d]-->%s\n", i, argv[i]);}return 0;
}

運行結(jié)果:

在這里插入圖片描述

在這里插入圖片描述

我們Linux中ls命令有許多參數(shù)如-a -l -d -nls本質(zhì)上就是C語言寫的一個程序,它為什么能根據(jù)不同的參數(shù)執(zhí)行不同的功能就是因為使用了mian()函數(shù)的命令行參數(shù)!

http://www.risenshineclean.com/news/22530.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)推廣唯心cidun8廣州:推動優(yōu)化防控措施落
  • 青海省交通建設(shè)廳網(wǎng)站首頁贛州seo排名
  • 中小企業(yè)網(wǎng)站建設(shè)客戶需求調(diào)查問卷seo關(guān)鍵詞優(yōu)化公司哪家好
  • 遼寧省建設(shè)廳證書查詢網(wǎng)站百度關(guān)鍵詞搜索量排名
  • 江油市建設(shè)局網(wǎng)站溫州網(wǎng)站快速排名
  • wordpress hello dolly杭州百度優(yōu)化
  • 外貿(mào)網(wǎng)站建設(shè)海外推廣網(wǎng)絡(luò)銷售真惡心
  • 輕創(chuàng)靈感網(wǎng)站百度自動點擊器怎么用
  • 外貿(mào)seo搜索優(yōu)化湖南seo快速排名
  • 北京好的網(wǎng)站制作小說榜單首頁百度搜索風(fēng)云榜
  • 深圳網(wǎng)站建設(shè)服務(wù)商萬創(chuàng)網(wǎng)網(wǎng)站代運營推廣
  • 網(wǎng)站建設(shè) 圖標(biāo)百度快速收錄技術(shù)
  • 西安網(wǎng)站維護(hù)深圳網(wǎng)站建設(shè)開發(fā)公司
  • wordpress站點版權(quán)設(shè)置拉新推廣賺錢的app
  • 合肥網(wǎng)站搭建鄭州網(wǎng)絡(luò)推廣代理顧問
  • 城鄉(xiāng)建設(shè)官網(wǎng)說說seo論壇
  • 網(wǎng)站右下角彈窗代碼網(wǎng)絡(luò)營銷方式都有哪些
  • 個人的網(wǎng)站免費網(wǎng)絡(luò)推廣
  • 巴里坤網(wǎng)站建設(shè)seo快速排名培訓(xùn)
  • 各大網(wǎng)站投稿郵箱杭州關(guān)鍵詞優(yōu)化服務(wù)
  • 南京哪家公司做企業(yè)網(wǎng)站 做得比較好吸引客流的25個技巧
  • 網(wǎng)站設(shè)計英文網(wǎng)絡(luò)廣告營銷案例分析
  • 北京做網(wǎng)站公司推薦seo工具軟件
  • 杭州品牌網(wǎng)站設(shè)計seo優(yōu)化什么意思
  • 廣州網(wǎng)站建站青島百度快速優(yōu)化排名
  • 西寧做網(wǎng)站ci君博卻上無錫百度競價推廣
  • 企業(yè)建站業(yè)務(wù)還能做嗎沈陽seo合作
  • 模具 東莞網(wǎng)站建設(shè)長沙網(wǎng)絡(luò)推廣外包費用
  • 手機 網(wǎng)站 微信 源碼河南網(wǎng)站seo
  • 龍巖網(wǎng)站制作長沙網(wǎng)站快速排名提升