国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量

這篇具有很好參考價(jià)值的文章主要介紹了【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔

目錄

文章目錄

前言

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

1.1、進(jìn)程優(yōu)先級(jí)的基本概念

1.2、優(yōu)先級(jí) VS 權(quán)限

1.3、為什么要有優(yōu)先級(jí)?

1.4、Linux的優(yōu)先級(jí)的特點(diǎn) && 查看方式

1.5、PRI and NI

1.6、用top命令更改已存在進(jìn)程的nice

1.7、其他概念

二、命令行參數(shù)

三、環(huán)境變量

3.1、基本概念

3.2、常見環(huán)境變量

3.3、查看環(huán)境變量方法

3.4、有什么方法可以不用帶路徑,直接就可以運(yùn)行呢?

強(qiáng)硬的方法:

溫柔的方法:

但是我們依然想要將可執(zhí)行程序myprocess的路徑添加到PATH環(huán)境變量里?

我們想要我們添加的路徑,永久的保存在PATH環(huán)境變量里,怎么做呢?

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

3.6、環(huán)境變量的組織方式

3.7、通過(guò)代碼如何獲取環(huán)境變量

通過(guò)第三方變量environ獲取

命令行第三個(gè)參數(shù)

3.8、通過(guò)系統(tǒng)調(diào)用獲取或設(shè)置環(huán)境變量

3.9、環(huán)境變量通常是具有全局屬性的

3.10、內(nèi)建命令

總結(jié)



前言

世上有兩種耀眼的光芒,一種是正在升起的太陽(yáng),一種是正在努力學(xué)習(xí)編程的你!一個(gè)愛學(xué)編程的人。各位看官,我衷心的希望這篇博客能對(duì)你們有所幫助,同時(shí)也希望各位看官能對(duì)我的文章給與點(diǎn)評(píng),希望我們能夠攜手共同促進(jìn)進(jìn)步,在編程的道路上越走越遠(yuǎn)!


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

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

1.1、進(jìn)程優(yōu)先級(jí)的基本概念

  • 指定進(jìn)程獲取某種資源(如:CPU等)的先后順序。
  • 優(yōu)先權(quán)高的進(jìn)程有優(yōu)先執(zhí)行權(quán)利。配置進(jìn)程優(yōu)先權(quán)對(duì)多任務(wù)環(huán)境的linux很有用,可以改善系統(tǒng)性能。
  • 還可以把進(jìn)程運(yùn)行到指定的CPU上,這樣一來(lái),把不重要的進(jìn)程安排到某個(gè)CPU,可以大大改善系統(tǒng)整體性能。
  • Linux中優(yōu)先級(jí)數(shù)字越小,優(yōu)先級(jí)越高。

要維護(hù)一個(gè)進(jìn)程的優(yōu)先級(jí):task_struct 進(jìn)程控制塊(是描述進(jìn)程,里面包含了進(jìn)程的所有屬性) --->? ? ?struct ----> 內(nèi)部字段 ----> (default_proi = 80) + (nice = ??) = proi(新的優(yōu)先級(jí))。

進(jìn)程的優(yōu)先級(jí)也是進(jìn)程控制塊中所有屬性的一種(是內(nèi)部字段中的一部分)。

1.2、優(yōu)先級(jí) VS 權(quán)限

權(quán)限:是能不能的問(wèn)題。

優(yōu)先級(jí):已經(jīng)能了,我們獲取資源的順序。

1.3、為什么要有優(yōu)先級(jí)?

進(jìn)程訪問(wèn)的資源(CPU)始終都是有限的,系統(tǒng)中進(jìn)程大部分情況都是較多的。

操作系統(tǒng)關(guān)于調(diào)度和優(yōu)先級(jí)的原則:分時(shí)操作系統(tǒng),基本的公平,如果進(jìn)程因?yàn)殚L(zhǎng)時(shí)間不被調(diào)度,就造成了饑餓問(wèn)題。

1.4、Linux的優(yōu)先級(jí)的特點(diǎn) && 查看方式

  • ps -l:只能查看當(dāng)前終端(當(dāng)前所在分頻頁(yè)面)下啟動(dòng)的進(jìn)程。
  • ps -al:查看所有終端下啟動(dòng)的進(jìn)程。

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

我們很容易注意到其中的幾個(gè)重要信息,有下:

  • UID : 代表執(zhí)行者的身份
  • PID : 代表這個(gè)進(jìn)程的代號(hào)
  • PPID :代表這個(gè)進(jìn)程是由哪個(gè)進(jìn)程發(fā)展衍生而來(lái)的,亦即父進(jìn)程的代號(hào)
  • PRI :代表這個(gè)進(jìn)程可被執(zhí)行的優(yōu)先級(jí),其值越小越早被執(zhí)行
  • NI :代表這個(gè)進(jìn)程的nice值
  • 每次調(diào)整優(yōu)先級(jí),都是從80開始的
  • nice/renice:可以對(duì)一個(gè)指定的進(jìn)程,在啟動(dòng)前或運(yùn)行時(shí),對(duì)進(jìn)程的優(yōu)先級(jí)做動(dòng)態(tài)調(diào)整
  • nice并不能讓你任意調(diào)整,而是有范圍的!若任意調(diào)整的話,會(huì)打破原則中基本的公平
  • ?一個(gè)進(jìn)程的優(yōu)先級(jí)是不能頻繁更改的

NI:進(jìn)程優(yōu)先級(jí)的修正數(shù)據(jù),nice值,新的優(yōu)先級(jí) = 優(yōu)先級(jí) + nice,達(dá)到對(duì)于進(jìn)程優(yōu)先級(jí)動(dòng)態(tài)修改的過(guò)程。

nice并不能讓你隨意調(diào)整,而是有范圍的。[-20~19]

1.5、PRI and NI

  • PRI也還是比較好理解的,即進(jìn)程的優(yōu)先級(jí),或者通俗點(diǎn)說(shuō)就是程序被CPU執(zhí)行的先后順序,此值越小 進(jìn)程的優(yōu)先級(jí)別越高
  • 那NI呢?就是我們所要說(shuō)的nice值了,其表示進(jìn)程可被執(zhí)行的優(yōu)先級(jí)的修正數(shù)值
  • PRI值越小越快被執(zhí)行,那么加入nice值后,將會(huì)使得PRI變?yōu)椋篜RI(new)=PRI(old)+nice
  • 這樣,當(dāng)nice值為負(fù)值的時(shí)候,那么該程序?qū)?huì)優(yōu)先級(jí)值將變小,即其優(yōu)先級(jí)會(huì)變高,則其越快被執(zhí)行
  • 所以,調(diào)整進(jìn)程優(yōu)先級(jí),在Linux下,就是調(diào)整進(jìn)程nice值
  • nice其取值范圍是-20至19,一共40個(gè)級(jí)別。

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

1.6、用top命令更改已存在進(jìn)程的nice

  • top
  • 進(jìn)入top后按“r”–>輸入進(jìn)程PID–>輸入nice值

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

1.7、其他概念

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

多個(gè)進(jìn)程在一個(gè)CPU下采用進(jìn)程切換的方式,在一段時(shí)間之內(nèi),讓多個(gè)進(jìn)程都得以推進(jìn)的方式:
如果這種方式下,進(jìn)程過(guò)多,CPU切換負(fù)擔(dān)過(guò)重,那么這些進(jìn)程會(huì)出現(xiàn)卡頓的情況,本質(zhì)是每一個(gè)進(jìn)程被CPU調(diào)度的周期變長(zhǎng)了。

二、命令行參數(shù)

vim Makefile
myprocess : myprocess.c
     gcc - o $@ $ ^ -g
.PHONY:clean
clean :
     rm - f myprocess
		 

:%s/testStatus/myprocess/   //:將testStatus改成myprocess
vim myprocess.c
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>

//第一個(gè)參數(shù)argc代表指針數(shù)組中參數(shù)的個(gè)數(shù)有多少  
//第二個(gè)參數(shù)類型:指針數(shù)組,char *指向的是字符串首字符的地址
int main(int argc, char* argv[])
{
	if (argc != 2)
	{
		 printf("Usage: %s -[a,b,c,d]\n", argv[0]);//下標(biāo)為0的位置,始終會(huì)有元素(./程序名)
		 return 1;
	}
	if(strcmp(argv[1], "-a") == 0)
	{
		 printf("this is function1\n");
	}
	else if(strcmp(argv[1], "-b") == 0)
	{
		 printf("this is function2\n");
	}
	else if(strcmp(argv[1], "-c") == 0)
	{
		 printf("this is function3\n");
	}
	else if(strcmp(argv[1], "-d") == 0)
	{
		 printf("this is function4\n");
	}
	else
	{
		 printf("no this function!!\n");
	 }

	for(int i = 0; i < argc; i++)
    {
        printf("argv[%d]->%s\n", i, argv[i]);
    }
}

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

為什么要有命令行參數(shù):

本質(zhì):命令行參數(shù)本質(zhì)是交給我們程序不同的選型,用來(lái)定制不同的程序功能。命令行中會(huì)攜帶很多的選項(xiàng)。就像 switch 和 case一樣。

命令行解釋器(bash)在啟動(dòng)時(shí),會(huì)為我們維護(hù)一張指針數(shù)組表,bash將 ./myprocess -a -b -c -d這條命令,遇到這條命令的空格就分成了 n 個(gè)子字符串,將子字符串轉(zhuǎn)換成指針數(shù)組表里的元素。

我們?cè)賮?lái)看接下來(lái)的代碼:

vim myprocess.c
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
int g_val = 100000;
int main()
{
    printf("I am father process, pid: %d, ppid: %d, g_val: %d\n", getpid(), getppid(), g_val);
    sleep(5);

    pid_t id = fork();
    if(id == 0)
    {
        //child
        while(1)
        {
            printf("I am child process, pid: %d, ppid: %d, g_val: %d\n", getpid(), getppid(), g_val);
            sleep(1);
        }
    }
    else 
    {
        // father
        while(1)
        {
            printf("I am father process, pid: %d, ppid: %d, g_val: %d\n", getpid(), getppid(), g_val);
            sleep(1);
        }
    }
}

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

父進(jìn)程的數(shù)據(jù),默認(rèn)能被子進(jìn)程看到并訪問(wèn)。

命令行中啟動(dòng)的程序,都會(huì)變成進(jìn)程,其實(shí)都是bash的子進(jìn)程。

三、環(huán)境變量

3.1、基本概念

  • 環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來(lái)指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù),如:我們?cè)诰帉慍/C++代碼的時(shí)候,在鏈接的時(shí)候,從來(lái)不知道我們的所鏈接的動(dòng)態(tài)靜態(tài)庫(kù)在哪里,但是照樣可以鏈接成功,生成可執(zhí)行程序,原因就是有相關(guān)環(huán)境變量幫助編譯器進(jìn)行查找。
  • 環(huán)境變量通常具有某些特殊用途,還有在系統(tǒng)當(dāng)中通常具有全局特性。

3.2、常見環(huán)境變量

  • PATH : 指定命令的搜索路徑
  • HOME : 指定用戶的主工作目錄(即用戶登陸到Linux系統(tǒng)中時(shí),默認(rèn)的目錄)
  • SHELL : 當(dāng)前Shell,它的值通常是/bin/bash
  • HISTSIZE:默認(rèn)記錄用戶輸入的最新的1000條的歷史命令

3.3、查看環(huán)境變量方法

echo $PATH
//顯示 PATH 環(huán)境變量的內(nèi)容

3.4、有什么方法可以不用帶路徑,直接就可以運(yùn)行呢?

我們自己生成的可執(zhí)行程序,必須加程序的路徑(./)才可以執(zhí)行;但是Linux中的ls、pwd等這些可執(zhí)行程序不需要加程序的路徑,都可以執(zhí)行,為什么呢?

Linux中,存在一些全局的設(shè)置,表明,告訴命令行解釋器,應(yīng)該去那些路徑下,去尋找可執(zhí)行程序。ls命令的路徑是在PATH環(huán)境變量當(dāng)中的,所以執(zhí)行l(wèi)s命令,就不用帶./

echo $PATH

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

我們一般執(zhí)行那個(gè)命令的時(shí)候,我們的命令行解釋器(bash)會(huì)先去 PATH 這個(gè)環(huán)境變量下的所有路徑里去找有沒有我們對(duì)應(yīng)的可執(zhí)行程序,如果有,就不用加程序的路徑(./)了;如果沒有,就得加程序的路徑(./)。

強(qiáng)硬的方法:

sudo cp myprocess usr/bin/

我們把我們寫的myprocess可執(zhí)行程序拷貝(安裝)到Linux系統(tǒng)里指定的PATH環(huán)境變量下的 usr/bin 路徑下。

溫柔的方法:

把我們寫的可執(zhí)行程序myprocess的路徑添加到PATH環(huán)境變量里呢?

PATH=/home/song/111/code/lesson

因?yàn)镻ATH是變量,我們可以直接讓路徑賦值給環(huán)境變量,但是我們會(huì)把PATH環(huán)境變量下的所有路徑都給覆蓋了,不能這么干。

但是不用擔(dān)心,因?yàn)槟壳?span style="color:#fe2c24;">PATH環(huán)境變量是我們登錄Linux系統(tǒng)的時(shí)候,就已經(jīng)被加載到bash進(jìn)程當(dāng)中(內(nèi)存),現(xiàn)在的環(huán)境變量是內(nèi)存級(jí)的(默認(rèn)我們查到的環(huán)境變量是內(nèi)存級(jí)的);實(shí)際上環(huán)境變量的設(shè)置,不僅僅是在內(nèi)存里,在系統(tǒng)的配置文件里也是有的,我們?cè)僦匦碌卿浺幌翷inux系統(tǒng)就可以了。

但是我們依然想要將可執(zhí)行程序myprocess的路徑添加到PATH環(huán)境變量里?

PATH=$PATH:/home/song/111/code/lesson

保留原來(lái)PATH里的路徑,再添加一個(gè)路徑。

但是這個(gè)只是在內(nèi)存級(jí)里設(shè)置的,Linux系統(tǒng)重新登錄一下,我們添加的路徑又會(huì)消失。

我們想要我們添加的路徑,永久的保存在PATH環(huán)境變量里,怎么做呢?

最開始的環(huán)境變量不是在內(nèi)存中,而是默認(rèn)在系統(tǒng)對(duì)應(yīng)的配置文件中。在登錄Linux系統(tǒng)的時(shí)候,會(huì)創(chuàng)建一個(gè)bash進(jìn)程,系統(tǒng)里的配置文件會(huì)被bash進(jìn)程拷貝一份,所以,我們每次重新登錄的時(shí)候,PATH下的路徑都會(huì)回復(fù)原樣。

系統(tǒng)的配置文件在哪里?

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

這些配置文件都在屬于自己的家目錄下。

PATH=$PATH:/home/song/111/code/lesson

我們可以把我們添加的路徑,可以通過(guò) PATH=$PATH:/home/song/111/code/lesson它,添加到系統(tǒng)的配置文件中,這樣我們每次重新打開Linux系統(tǒng),我們都可以不帶路徑(./)來(lái)執(zhí)行可執(zhí)行程序(myprocess)。

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

  • echo + $xxx: 顯示某個(gè)環(huán)境變量值
  • export + name=val: 導(dǎo)入一個(gè)新的環(huán)境變量name
  • env: 顯示所有環(huán)境變量
  • unset + name: 清除環(huán)境變量
  • set: 顯示本地定義的shell變量和環(huán)境變量

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

我們導(dǎo)入一個(gè)變量 hello=123456 ,但是我們沒有寫export,我們?cè)谒械沫h(huán)境變量中搜索,并沒有找到,但是我們卻能夠單獨(dú)把這個(gè)變量的內(nèi)容打印到屏幕上。雖然?hello 變量在環(huán)境變量中,但是叫本地變量(身在曹營(yíng),心在漢)。

3.6、環(huán)境變量的組織方式

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

每個(gè)程序都會(huì)收到一張環(huán)境變量表,環(huán)境變量表是一個(gè)字符指針數(shù)組,每個(gè)指針指向一個(gè)以’\0’結(jié)尾的環(huán)境字符串。

3.7、通過(guò)代碼如何獲取環(huán)境變量

通過(guò)第三方變量environ獲取

#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char* argv[])
{
	// 獲取一下環(huán)境變量
	extern char** environ;//聲明一下 environ
	for(int i = 0; environ[i]; i++)
	{
	    printf("env[%d]->%s\n", i, environ[i]);
	}
}

//字符串可以理解為數(shù)組,數(shù)組名就是數(shù)組首元素的地址
//environ[i]:是指針數(shù)組里面的元素,元素是環(huán)境變量(字符串)的地址,所以元素就是字符串

libc中定義的全局變量environ指向環(huán)境變量表,environ沒有包含在任何頭文件中,所以在使用時(shí) 要用extern聲明。

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

命令行第三個(gè)參數(shù)

#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char *argv[], char *env[])
 {
    int i = 0;
    for(; env[i]; i++){
        printf("%s\n", env[i]);
    }
    return 0;
 }

【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

磁盤中有系統(tǒng)的配置文件,而配置文件里面包含了環(huán)境變量;Linux系統(tǒng)登錄,會(huì)在內(nèi)存中加載bash進(jìn)程。bash進(jìn)程將配置文件(里面包含,環(huán)境變量)里的數(shù)據(jù)拷貝了一份。

環(huán)境變量可是很多的,bash內(nèi)部是如何組織的呢?

bash在啟動(dòng)時(shí),也會(huì)為我們維護(hù)一張表,這張表是一個(gè)指針數(shù)組表(char *env[]),這張表指向的內(nèi)容都是char*的,所以,每當(dāng)我們有一個(gè)環(huán)境變量(就是字符串,如:PATH=/usr/bin:/a/b/c/...),環(huán)境變量把對(duì)應(yīng)的字符串,從配置文件加載進(jìn)來(lái),字符串信息就有了,把字符串的地址填到我們的環(huán)境變量表里,環(huán)境變量表的最后一位以 NULL 結(jié)尾。

bash進(jìn)程啟動(dòng)的時(shí)候,默認(rèn)會(huì)給我們子進(jìn)程形成兩張表:argv[]命令行參數(shù)表,env[]環(huán)境變量表(從OS的配置文件夾來(lái))。bash通過(guò)各種方式交給子進(jìn)程。

3.8、通過(guò)系統(tǒng)調(diào)用獲取或設(shè)置環(huán)境變量

putenv , 后面講解

getenv , 根據(jù)環(huán)境變量名拿到環(huán)境變量的內(nèi)容,本次講解

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>

int main(int argc, char* argv[], char* env[])
{
	char* path = getenv("PATH");
	if (path == NULL) 
		return 1;
	printf("path: %s\n", path);
	for (int i = 0; env[i]; i++)
	{
		printf("env[%d]->%s\n", i, env[i]);
	}

	fork(); // 能!子進(jìn)程能獲得命令行參數(shù)和全局變量   bash(父進(jìn)程) ---> main(子進(jìn)程) ---> fork()(創(chuàng)建子進(jìn)程的子進(jìn)程)
}

常用getenv和putenv函數(shù)來(lái)訪問(wèn)特定的環(huán)境變量。

3.9、環(huán)境變量通常是具有全局屬性的

  • 環(huán)境變量通常具有全局屬性,可以被子進(jìn)程繼承下去
#include <stdio.h>
#include <stdlib.h>

int main()
 {
    char * env = getenv("MYENV");
    if(env){
        printf("%s\n", env);
    }
    return 0;
 }

直接查看,發(fā)現(xiàn)沒有結(jié)果,說(shuō)明該環(huán)境變量根本不存在

  • 導(dǎo)出環(huán)境變量? ?export MYENV="hello world"
  • 再次運(yùn)行程序,發(fā)現(xiàn)結(jié)果有了!說(shuō)明:環(huán)境變量是可以被子進(jìn)程繼承下去的!想想為什么?

3.10、內(nèi)建命令

export myval=111111 
//將導(dǎo)入myval成環(huán)境變量
echo $myval  
//也能將環(huán)境變量myval的內(nèi)容打印出來(lái)(111111)

那么export命令被命令行解釋器(bash)運(yùn)行的時(shí)候,不會(huì)創(chuàng)建子進(jìn)程嗎?
如果創(chuàng)建子進(jìn)程,那么export導(dǎo)出來(lái)的環(huán)境變量就不應(yīng)該被bash看到。
因?yàn)楦高M(jìn)程的數(shù)據(jù),默認(rèn)能被子進(jìn)程看到并訪問(wèn),是因?yàn)閯?chuàng)建子進(jìn)程的時(shí)候,子進(jìn)程是通過(guò)fork()繼承的方式,看到父進(jìn)程的。如果子進(jìn)程導(dǎo)入了一些環(huán)境變量做修改了,父進(jìn)程是看不到的。

但是,我們這里的父進(jìn)程是能夠看到導(dǎo)入環(huán)境變量的內(nèi)容的,這是怎么回事?
【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量,Linux,linux,服務(wù)器

那是因?yàn)?export 、echo是內(nèi)建命令,由父進(jìn)程(bash)親自執(zhí)行,并不會(huì)創(chuàng)建子進(jìn)程。


總結(jié)

好了,本篇博客到這里就結(jié)束了,如果有更好的觀點(diǎn),請(qǐng)及時(shí)留言,我會(huì)認(rèn)真觀看并學(xué)習(xí)。
不積硅步,無(wú)以至千里;不積小流,無(wú)以成江海。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-843276.html

到了這里,關(guān)于【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Linux】進(jìn)程優(yōu)先級(jí) && 進(jìn)程切換 && 環(huán)境變量

    【Linux】進(jìn)程優(yōu)先級(jí) && 進(jìn)程切換 && 環(huán)境變量

    目錄 一、進(jìn)程優(yōu)先級(jí) ?1、優(yōu)先級(jí)概念 ?2、優(yōu)先級(jí)特點(diǎn) ?3、修改Linux下的優(yōu)先級(jí) 二、進(jìn)程切換 ?1、進(jìn)程特性 ?2、進(jìn)程切換 三、環(huán)境變量 ?1、基本概念 ?2、常見環(huán)境變量 ?3、查看環(huán)境變量方法 ?4、PATH環(huán)境變量 ?5、和環(huán)境變量相關(guān)的命令 ?6、環(huán)境變量的組織方式 ?7、通過(guò)

    2024年02月11日
    瀏覽(34)
  • 【Linux】進(jìn)程狀態(tài)|優(yōu)先級(jí)|進(jìn)程切換|環(huán)境變量

    【Linux】進(jìn)程狀態(tài)|優(yōu)先級(jí)|進(jìn)程切換|環(huán)境變量

    ?? 運(yùn)行隊(duì)列: 進(jìn)程是如何在CPU上運(yùn)行的:CPU在內(nèi)核上維護(hù)了一個(gè)運(yùn)行隊(duì)列,進(jìn)行進(jìn)程的管理。讓進(jìn)程進(jìn)入隊(duì)列,本質(zhì)就是將該進(jìn)程的task_struct 結(jié)構(gòu)體對(duì)象放入運(yùn)行隊(duì)列之中。這個(gè)隊(duì)列在內(nèi)存中,由操作系統(tǒng)自己維護(hù)。 ?? 運(yùn)行狀態(tài): 運(yùn)行狀態(tài) 進(jìn)程PCB在運(yùn)行隊(duì)列里就是運(yùn)行

    2024年02月02日
    瀏覽(17)
  • 【Linux】環(huán)境變量和進(jìn)程優(yōu)先級(jí)

    【Linux】環(huán)境變量和進(jìn)程優(yōu)先級(jí)

    目錄 環(huán)境變量 什么是環(huán)境變量 系統(tǒng)結(jié)構(gòu) 系統(tǒng)接口 深度解析 命令行參數(shù) 進(jìn)程優(yōu)先級(jí) 優(yōu)先級(jí)查看 優(yōu)先級(jí)修改 進(jìn)程間的概念 ??平時(shí)在使用? Linux? 的時(shí)候,總會(huì)使用? ls? 、 pwd? 這類的命令,我們也都知道這些命令也是? C? 語(yǔ)言寫的,但是為什么我們自己寫的可執(zhí)行程序需

    2023年04月27日
    瀏覽(20)
  • Linux_進(jìn)程的優(yōu)先級(jí)&&環(huán)境變量&&上下文切換&&優(yōu)先級(jí)隊(duì)列

    Linux_進(jìn)程的優(yōu)先級(jí)&&環(huán)境變量&&上下文切換&&優(yōu)先級(jí)隊(duì)列

    什么是優(yōu)先級(jí)? 指定一個(gè)進(jìn)程獲取某種資源的先后順序 本質(zhì)是進(jìn)程獲取cpu資源的優(yōu)先順序 為什么要有優(yōu)先級(jí) 進(jìn)程訪問(wèn)的資源(CPU)是有限的 操作系統(tǒng)關(guān)于調(diào)度和優(yōu)先級(jí)的原則:分時(shí)操作系統(tǒng),基本的公平,如果進(jìn)程因?yàn)殚L(zhǎng)時(shí)間不被調(diào)整,就造成了饑餓問(wèn)題 Linux的優(yōu)先級(jí)特

    2024年04月09日
    瀏覽(22)
  • [Linux]命令行參數(shù)和進(jìn)程優(yōu)先級(jí)

    [Linux]命令行參數(shù)和進(jìn)程優(yōu)先級(jí)

    命令行參數(shù)的概念 命令行參數(shù)是指用于運(yùn)行程序時(shí)在命令行輸入的參數(shù)。 命令函參數(shù)的接收 C語(yǔ)言中main函數(shù)有兩個(gè)參數(shù)用于接收命令行參數(shù),分別是argc和argv,main函數(shù)的參數(shù)即使沒有顯式說(shuō)明,編譯器也會(huì)自動(dòng)在編譯是添加并且接收參數(shù),只是不顯式說(shuō)明無(wú)法使用參數(shù): 在運(yùn)

    2024年02月10日
    瀏覽(31)
  • Linux:進(jìn)程優(yōu)先級(jí)與命令行參數(shù)

    Linux:進(jìn)程優(yōu)先級(jí)與命令行參數(shù)

    目錄 1.進(jìn)程優(yōu)先級(jí) 1.1 基本概念 1.2 查看系統(tǒng)進(jìn)程 1.3 修改進(jìn)程優(yōu)先級(jí)的命令 2.進(jìn)程間切換 2.1 相關(guān)概念 2.2 Linux2.6內(nèi)核進(jìn)程調(diào)度隊(duì)列(了解即可) 3.命令行參數(shù) 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)對(duì)多任務(wù)

    2024年02月05日
    瀏覽(28)
  • 【Linux】環(huán)境變量與進(jìn)程優(yōu)先級(jí)知識(shí)點(diǎn)

    【Linux】環(huán)境變量與進(jìn)程優(yōu)先級(jí)知識(shí)點(diǎn)

    環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來(lái)指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù)。 PATH : 指定命令的搜索路徑 HOME : 指定用戶的主工作目錄(即用戶登陸到Linux系統(tǒng)中時(shí),默認(rèn)的目錄) SHELL : 當(dāng)前Shell,它的值通常是/bin/bash USER:記錄了當(dāng)前登錄的用戶是誰(shuí) 主要以PATH進(jìn)行學(xué)習(xí)

    2023年04月23日
    瀏覽(90)
  • 【Linux進(jìn)行時(shí)】環(huán)境變量and進(jìn)程優(yōu)先級(jí)

    【Linux進(jìn)行時(shí)】環(huán)境變量and進(jìn)程優(yōu)先級(jí)

    ?首先一個(gè)問(wèn)題:我寫的代碼(這個(gè)代碼很簡(jiǎn)單,不用管)編譯之后運(yùn)行的時(shí)候?yàn)槭裁匆獛?/ ? 或者說(shuō)我怎么才可以讓我不用帶./ ? ??.代表當(dāng)前文件下,/是文件分隔符,這是用相對(duì)路徑的方式來(lái)訪問(wèn),所以我們也可以用絕對(duì)路徑 myproc和ls都是指令,ls可以直接輸入,但是我

    2024年02月08日
    瀏覽(26)
  • 【看表情包學(xué)Linux】進(jìn)程優(yōu)先級(jí) | 查看系統(tǒng)進(jìn)程 | 優(yōu)先級(jí)修改 | 進(jìn)程的切換 | 競(jìng)爭(zhēng)性與獨(dú)立性 | 并行并發(fā)的概念 | 環(huán)境變量

    【看表情包學(xué)Linux】進(jìn)程優(yōu)先級(jí) | 查看系統(tǒng)進(jìn)程 | 優(yōu)先級(jí)修改 | 進(jìn)程的切換 | 競(jìng)爭(zhēng)性與獨(dú)立性 | 并行并發(fā)的概念 | 環(huán)境變量

    ?? ??? 爆笑 教程 ????《看表情包學(xué)Linux》?? ? 猛戳訂閱 ? ? ?? ? ?? 寫在前面: 我們先講解進(jìn)程的優(yōu)先級(jí),探討為什么會(huì)存在優(yōu)先級(jí),以及如何查看系統(tǒng)進(jìn)程、進(jìn)程優(yōu)先級(jí)的修改。然后講解進(jìn)程的切換,首次介紹進(jìn)程的競(jìng)爭(zhēng)性、獨(dú)立性,以及并行和并發(fā)的概念,在通

    2024年01月19日
    瀏覽(22)
  • 2.【Linux】(進(jìn)程的狀態(tài)||深入理解fork||底層剖析||task_struct||進(jìn)程優(yōu)先級(jí)||并行和并發(fā)||詳解環(huán)境變量)

    2.【Linux】(進(jìn)程的狀態(tài)||深入理解fork||底層剖析||task_struct||進(jìn)程優(yōu)先級(jí)||并行和并發(fā)||詳解環(huán)境變量)

    Linux把所有進(jìn)程通過(guò)雙向鏈表的方式連接起來(lái)組成任務(wù)隊(duì)列,操作系統(tǒng)和cpu通過(guò)選擇一個(gè)task_struct執(zhí)行其代碼來(lái)調(diào)度進(jìn)程。 1.運(yùn)行態(tài):pcb結(jié)構(gòu)體在運(yùn)行或在運(yùn)行隊(duì)列中排隊(duì)。 2.阻塞態(tài):等待非cpu資源就緒(硬盤,網(wǎng)卡等資源) 3.掛起態(tài):一個(gè)進(jìn)程對(duì)應(yīng)的代碼和數(shù)據(jù)被操作系統(tǒng)因

    2024年01月22日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包