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

Linux 第十一章

這篇具有很好參考價值的文章主要介紹了Linux 第十一章。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??博主主頁:@??. 一懷明月??

?????專欄系列:線性代數(shù),C初學者入門訓練,題解C,C的使用文章,「初學」C++,linux

??座右銘:“不要等到什么都沒有了,才下定決心去做”

??????大家覺不錯的話,就懇求大家點點關(guān)注,點點小愛心,指點指點??????

目錄

進程

?編輯

進程怎么管理

task_struct 核心字段都有哪些

進程(任務(wù))對應(yīng)的標識符:

如何去查看一個進程的pid?

進程創(chuàng)建

linux中創(chuàng)建進程的方式

1.命令行中直接啟動進程(手動啟動)

2.通過代碼來進程創(chuàng)建

在操作系統(tǒng)加載到內(nèi)存時,其他進程并不是在操作系統(tǒng)這塊內(nèi)存上加載的。

父進程是什么

bash:命令行解釋器

如何獲取父進程的ID?

查看進程的第二種方式

工作目錄


進程

引入:在內(nèi)存上的程序就是進程,操作系統(tǒng)內(nèi)可能會同時存在多個進程,操作系統(tǒng)就要管理所有的進程

Linux 第十一章,linux,linux,運維,服務(wù)器

進程怎么管理

類似創(chuàng)建結(jié)構(gòu)體,將各個進程的屬性放在對應(yīng)的結(jié)構(gòu)體中,連接所有的結(jié)構(gòu)體,這樣操作系統(tǒng)可以很好的管理

進程pcb:進程控制塊

就是一個結(jié)構(gòu)體,結(jié)構(gòu)體里放著進程的各種屬性(id、代碼地址和數(shù)據(jù)地址、狀態(tài)、優(yōu)先級、鏈接字段等)

對進程的管理,被建模為對進程控制塊鏈表的管理

總結(jié):

什么是進程?

進程=可執(zhí)行程序+內(nèi)核數(shù)據(jù)結(jié)構(gòu)(pcb、….)

內(nèi)核數(shù)據(jù)結(jié)構(gòu):方便os對進程進行管理

task_struct 核心字段都有哪些

Linux中,進程pcb具體是struct?task_struct,Linux中采用雙鏈表的形式鏈接的pcb

進程(任務(wù))對應(yīng)的標識符:

pid(每一個正在運行的進程都有一個唯一的標識符)

如何去查看一個進程的pid?

1)通過ps(Linux中的"ps"指令用于查看系統(tǒng)中正在運行的進程信息)

//ps ajx是一種用于顯示Linux系統(tǒng)進程信息的命令
[BCH@hcss-ecs-6176 9_23]$?ps ajx | head -1 && ps ajx | grep mycode//&& 可以同時執(zhí)行兩個命令
PPID???PID??PGID???SID TTY??????TPGID STAT???UID???TIME COMMAND
2932 28593 28593??1485 pts/0????28593 S+????1000???0:00 ./mycode
3906 28927 28926??2057 pts/2????28926 R+????1000???0:00 grep --color=auto mycode//因為我們使用了grep這個指令,所以查詢mycode進程時,也查詢到grep的進程

2)通過系統(tǒng)調(diào)用的方法去查看pid

誰調(diào)用getpid()這個函數(shù),就獲取這個進程的pid,需要頭文件#include<sys/types.h> #include<unistd.h>

code.c文件
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main()
{
????????int i=0;
????????while(i<100)
????????{
????????????????pid_t id=getpid();
????????????????printf("我是一個進程...,我的pid%d\n",id);
????????????????sleep(1);
????????????????i++;
????????}
????????return 0;
}

[BCH@hcss-ecs-6176 9_23]$ make?
make: “mycode”是最新的。
[BCH@hcss-ecs-6176 9_23]$ ./mycode
我是一個進程...,我的pid12163//這個進程的pid就是12163
我是一個進程...,我的pid12163
我是一個進程...,我的pid12163
我是一個進程...,我的pid12163

我們可以用進程pid對進程進行控制

例如 kill -9 進程id//這樣就可以殺死改id的進程

進程ppid:父進程id

命令行中父進程到底是誰呢?

命令行解釋器bash

進程創(chuàng)建

linux中創(chuàng)建進程的方式

1.命令行中直接啟動進程(手動啟動)

?? ?1)在輸入指令的時候,回車這樣進程就啟動了

?? ?2)在windows中雙擊圖標的時候,進程就啟動了

2.通過代碼來進程創(chuàng)建

fork等函數(shù),啟動進程的時候,操作系統(tǒng)會創(chuàng)建對應(yīng)的pcb,本質(zhì)就是創(chuàng)建進程,一般是通過父進程創(chuàng)建的(父子關(guān)系)!

在操作系統(tǒng)加載到內(nèi)存時,其他進程并不是在操作系統(tǒng)這塊內(nèi)存上加載的。

當操作系統(tǒng)啟動后,它會為每個正在運行的進程分配獨立的內(nèi)存空間。操作系統(tǒng)會為每個進程創(chuàng)建一個稱為進程控制塊(Process Control Block,PCB)的數(shù)據(jù)結(jié)構(gòu)來管理進程的狀態(tài)和資源信息。

每個進程的 PCB 包含了進程的代碼、數(shù)據(jù)和堆棧等信息,這些內(nèi)容被加載到各自的內(nèi)存空間中。操作系統(tǒng)負責調(diào)度不同進程之間的切換,并確保每個進程在其分配的內(nèi)存空間中運行,從而實現(xiàn)進程間的隔離和保護。

因此,當操作系統(tǒng)加載到內(nèi)存時,它會為其他進程分配獨立的內(nèi)存空間,并在這些內(nèi)存空間中加載并運行各個進程的代碼和數(shù)據(jù)。每個進程的內(nèi)存空間都是相互獨立的,彼此之間不會互相干擾。這種隔離和保護機制有助于確保操作系統(tǒng)和各個進程的穩(wěn)定性和安全性。

父進程是什么

父進程是指在創(chuàng)建一個新進程時生成該新進程的現(xiàn)有進程。

bash:命令行解釋器

我們命令行啟動的進程,都是bash的子進程

如何獲取父進程的ID?

通過getppid函數(shù)

#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main()
{
        int i=0;
        while(i<100)
        {
                printf("I am a process: myid: %d,parent id: %d\n",getpid(),getppid());//獲取父子進程
                sleep(1);
                i++;
        }
        return 0;
}

[BCH@hcss-ecs-6176 9_23]$ make
gcc -o mycode code.c
[BCH@hcss-ecs-6176 9_23]$ ./mycode//加載進程
I am a process: myid: 29912,parent id: 20426//子進程的pid是29912,父進程的pid20426
I am a process: myid: 29912,parent id: 20426
I am a process: myid: 29912,parent id: 20426

task_struct:其中肯定包含pid、ppid

查看進程的第二種方式

除了使用ps命令查看進程,Proc動態(tài)目錄結(jié)構(gòu),存放所有存在的進程,目錄的名稱就是以這個id命名的

該目錄下的文件:其中就包含了該進程的所有屬性

[BCH@hcss-ecs-6176 9_23]$ ls /proc/25204 -l
總用量 0
dr-xr-xr-x 2 BCH BCH 0 9月??25 10:24 attr
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 autogroup
-r-------- 1 BCH BCH 0 9月??25 10:24 auxv
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 cgroup
--w------- 1 BCH BCH 0 9月??25 10:24 clear_refs
-r--r--r-- 1 BCH BCH 0 9月??25 10:16 cmdline
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 comm
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 coredump_filter
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 cpuset
lrwxrwxrwx 1 BCH BCH 0 9月??25 10:24 cwd -> /home/BCH/9_23//當前目錄
-r-------- 1 BCH BCH 0 9月??25 10:16 environ
lrwxrwxrwx 1 BCH BCH 0 9月??25 10:16 exe -> /usr/bin/bash//一個進程,能夠找到自己的可執(zhí)行程序
dr-x------ 2 BCH BCH 0 9月??25 10:16 fd
dr-x------ 2 BCH BCH 0 9月??25 10:24 fdinfo
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 gid_map
-r-------- 1 BCH BCH 0 9月??25 10:24 io
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 limits
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 loginuid
dr-x------ 2 BCH BCH 0 9月??25 10:24 map_files
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 maps
-rw------- 1 BCH BCH 0 9月??25 10:24 mem
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 mountinfo
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 mounts
-r-------- 1 BCH BCH 0 9月??25 10:24 mountstats
dr-xr-xr-x 5 BCH BCH 0 9月??25 10:24 net
dr-x--x--x 2 BCH BCH 0 9月??25 10:24 ns
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 numa_maps
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 oom_adj
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 oom_score
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 oom_score_adj
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 pagemap
-r-------- 1 BCH BCH 0 9月??25 10:24 patch_state
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 personality
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 projid_map
lrwxrwxrwx 1 BCH BCH 0 9月??25 10:24 root -> /
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 sched
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 schedstat
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 sessionid
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 setgroups
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 smaps
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 stack
-r--r--r-- 1 BCH BCH 0 9月??25 10:16 stat
-r--r--r-- 1 BCH BCH 0 9月??25 10:16 statm
-r--r--r-- 1 BCH BCH 0 9月??25 10:16 status
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 syscall
dr-xr-xr-x 3 BCH BCH 0 9月??25 10:24 task
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 timers
-rw-r--r-- 1 BCH BCH 0 9月??25 10:24 uid_map
-r--r--r-- 1 BCH BCH 0 9月??25 10:24 wchan

我們一般查看進程,還是優(yōu)先使用ps命令

工作目錄

工作目錄是指當前用戶所處的目錄,也稱為當前工作目錄或當前目錄。當你在終端中打開一個新的命令行窗口或者執(zhí)行一個命令時,你所處的目錄就是工作目錄。

你可以使用 pwd 命令(print working directory)來查看當前工作目錄的絕對路徑。你也可以使用 cd 命令(change directory)來切換工作目錄到其他目錄。

例如,如果你的當前工作目錄是 /home/user,那么在終端中執(zhí)行 
pwd 命令會顯示 /home/user,執(zhí)行 cd Documents 命令會將工作目錄
切換到 /home/user/Documents。

工作目錄在 Linux 中非常重要,因為許多命令和操作都是基于當前工作目錄進行的。

總結(jié):

1)一個進程,能夠找到自己的可執(zhí)行程序

2)每一個進程,都有自己的工作目錄

???????如果大家還有不懂或者建議都可以發(fā)在評論區(qū),我們共同探討,共同學習,共同進步。謝謝大家! ???????文章來源地址http://www.zghlxwxcb.cn/news/detail-860775.html

到了這里,關(guān)于Linux 第十一章的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【運維】Linux 跨服務(wù)器復(fù)制文件文件夾

    如果是云服務(wù) 建議用內(nèi)網(wǎng)ip scp是secure copy的簡寫,用于在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務(wù)器,而且scp傳輸是加密的。可能會稍微影響一下速度。當你服務(wù)器硬盤變?yōu)橹蛔x read only system時,用scp可以幫你把文件移出來

    2024年02月08日
    瀏覽(109)
  • Linux高性能服務(wù)器編程 學習筆記 第一章 TCP/IP協(xié)議族

    Linux高性能服務(wù)器編程 學習筆記 第一章 TCP/IP協(xié)議族

    現(xiàn)在Internet使用的主流協(xié)議族是TCP/IP協(xié)議族,它是一個分層、多協(xié)議的通信體系。 TCP/IP協(xié)議族包含眾多協(xié)議,我們只詳細討論IP協(xié)議和TCP協(xié)議,因為它們對編寫網(wǎng)絡(luò)應(yīng)用程序有最直接的影響。如果想系統(tǒng)學習網(wǎng)絡(luò)協(xié)議,RFC(Request For Comments,評論請求)是首選資料。 TCP/IP協(xié)議

    2024年02月09日
    瀏覽(40)
  • 基于linux下的高并發(fā)服務(wù)器開發(fā)(第一章)- Makefile(2)1.11

    基于linux下的高并發(fā)服務(wù)器開發(fā)(第一章)- Makefile(2)1.11

    ? 命令在執(zhí)行之前,需要先檢查規(guī)則中的依賴是否存在 ? ? ? 如果存在,執(zhí)行命令 ? ? ? 如果不存在,向下檢查其它的規(guī)則,檢查有沒有一個規(guī)則是用來生成這個依賴的,如? 果找到了,則執(zhí)行該規(guī)則中的命令。 ? 檢測更新,在執(zhí)行規(guī)則中的命令時,會比較目標和依賴文

    2024年02月16日
    瀏覽(25)
  • 【Linux 服務(wù)器運維】定時任務(wù) crontab 詳解 | 文末送書

    【Linux 服務(wù)器運維】定時任務(wù) crontab 詳解 | 文末送書

    本文思維導圖概述的主要內(nèi)容: 1.1 什么是 crontab Crontab 是一個在 Unix 和 Linux 操作系統(tǒng)上 用于定時執(zhí)行任務(wù) 的工具。它允許用戶創(chuàng)建和管理計劃任務(wù),以便在特定的時間間隔或時間點自動運行命令或腳本。Crontab 是 cron table 的縮寫, cron 指的是 Unix 系統(tǒng)中的一個后臺進程,它

    2024年02月08日
    瀏覽(129)
  • 基于linux下的高并發(fā)服務(wù)器開發(fā)(第一章)- 模擬實現(xiàn) ls-l 命令

    基于linux下的高并發(fā)服務(wù)器開發(fā)(第一章)- 模擬實現(xiàn) ls-l 命令

    ?這一小節(jié)會用到上面兩張圖的紅色框里面的變量 任務(wù): 模擬實現(xiàn) ls -l 指令 -rw-rw-r-- 1 nowcoder nowcoder 12 12月 ?3 15:48 a.txt ? ?

    2024年02月16日
    瀏覽(93)
  • 【Linux運維】shell腳本檢查服務(wù)器內(nèi)存和CPU利用率

    在管理服務(wù)器時候?qū)懥艘粋€ shell腳本,在服務(wù)上實現(xiàn)每天凌晨3點查系統(tǒng)的指定文件夾下的容量大小,如果超過10G就要刪除3天前的內(nèi)容,還要時刻查詢內(nèi)存和cpu利用率,如果超過80%就要提示用戶出現(xiàn)過載 將以上代碼保存為一個.sh文件,然后通過crontab在每天凌晨3點運行即可:

    2024年02月09日
    瀏覽(33)
  • 基于linux下的高并發(fā)服務(wù)器開發(fā)(第一章)- 解決動態(tài)庫加載失敗的問題1.8

    基于linux下的高并發(fā)服務(wù)器開發(fā)(第一章)- 解決動態(tài)庫加載失敗的問題1.8

    1、獲取當前動態(tài)庫所在路徑 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/nowcoder/Linux/lesson06/library/lib ?ldd main ./main (1)先進入到~目錄下 ?(2)在此目錄下輸入ll命令,打印內(nèi)容如下,我們可以看到有一個.bashrc ?(3)配置.bashrc文件,命令vim .bashrc ?(4)shift+g,跳到最后一行,按住i鍵

    2024年02月16日
    瀏覽(33)
  • Linux本地部署1Panel服務(wù)器運維管理面板并實現(xiàn)公網(wǎng)訪問

    Linux本地部署1Panel服務(wù)器運維管理面板并實現(xiàn)公網(wǎng)訪問

    1Panel 是一個現(xiàn)代化、開源的 Linux 服務(wù)器運維管理面板。高效管理,通過 Web 端輕松管理 Linux 服務(wù)器,包括主機監(jiān)控、文件管理、數(shù)據(jù)庫管理、容器管理等 下面我們介紹在Linux 本地安裝1Panel 并結(jié)合cpolar 內(nèi)網(wǎng)穿透工具實現(xiàn)遠程訪問1Panel 管理界面 執(zhí)行如下命令一鍵安裝 1Panel: 安

    2024年02月04日
    瀏覽(107)
  • Linux服務(wù)器常見運維性能測試(1)綜合跑分unixbench、superbench

    Linux服務(wù)器常見運維性能測試(1)綜合跑分unixbench、superbench

    最近需要測試一批服務(wù)器的相關(guān)硬件性能,以及在常規(guī)環(huán)境下的硬件運行穩(wěn)定情況,需要持續(xù)拷機測試穩(wěn)定性。所以找了一些測試用例。本次測試包括在服務(wù)器的高低溫下性能記錄及壓力測試,高低電壓下性能記錄及壓力測試,常規(guī)環(huán)境下CPU滿載穩(wěn)定運行的功率記錄。 這個系

    2024年02月04日
    瀏覽(103)
  • 一百五十一、Kettle——Linux上安裝的kettle8.2開啟carte服務(wù)以及配置子服務(wù)器

    一百五十一、Kettle——Linux上安裝的kettle8.2開啟carte服務(wù)以及配置子服務(wù)器

    kettle8.2在Linux上安裝好可以啟動界面、并且可以連接MySQL、Hive、ClickHouse等數(shù)據(jù)庫后,準備在Linux上啟動kettle的carte服務(wù) kettle的Linux運行的carte服務(wù)文件是carte.sh 文件路徑是/opt/install/data-integration/pwd 1、修改主節(jié)點配置文件 [root@hurys22 pwd]# vi ?carte-config-master-8080.xml? 注意:修改8

    2024年02月13日
    瀏覽(88)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包