欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux運(yùn)維基礎(chǔ)進(jìn)程管理及環(huán)境組成分析

 更新時(shí)間:2021年09月06日 16:27:14   作者:神慕蔡蔡  
這篇文章主要為大家介紹了Linux運(yùn)維基礎(chǔ),對(duì)其中進(jìn)程管理及環(huán)境組成分析作了詳細(xì)的分析,有需要的朋友可以借鑒參考下,希望可以有所幫助

1.進(jìn)程基本概述

進(jìn)程是已啟動(dòng)的可執(zhí)行程序的運(yùn)行中實(shí)例。

/proc目錄下以數(shù)字為名的目錄,每一個(gè)目錄代表一個(gè)進(jìn)程,保存著進(jìn)程的屬性信息。

每一個(gè)進(jìn)程的PID是唯一的,就算進(jìn)程退出了,其它進(jìn)程也不會(huì)占用其PID

2.進(jìn)程的組成部分

  •  已分配內(nèi)存的地址空間
  • 安全屬性,包括所有權(quán)憑據(jù)和特權(quán)
  • 程序代碼的一個(gè)或多個(gè)執(zhí)行線程
  • 進(jìn)程狀態(tài)

3.進(jìn)程的環(huán)境

  • 本地和全局變量
  • 當(dāng)前調(diào)度上下文
  • 分配的系統(tǒng)資源,如文件描述符和網(wǎng)絡(luò)端口

4.進(jìn)程狀態(tài)

標(biāo)志 內(nèi)核定義的狀態(tài)名稱和描述
R TASK_RUNNING:進(jìn)程正在CPU上執(zhí)行,或者正在等待運(yùn)行。處于運(yùn)行中(或可運(yùn)行)狀態(tài)時(shí),進(jìn)程可能正在執(zhí)行用戶例程或內(nèi)核例程(系統(tǒng)調(diào)用),或者已排隊(duì)并就緒
S TASK_INTERRUPTIBLE:進(jìn)程處于睡眠狀態(tài)且正在等待某一條件:硬件請(qǐng)求、系統(tǒng)資源訪問(wèn)或信號(hào)。當(dāng)事件或信號(hào)滿足該條件時(shí),該進(jìn)程將返回到運(yùn)行中
D TASK_UNINTERRUPTIBLE:此進(jìn)程也在睡眠,但與S狀態(tài)不同,不會(huì)響應(yīng)傳遞的信號(hào)。僅在特定的條件下使用,其中進(jìn)程中斷可能會(huì)導(dǎo)致意外的設(shè)備狀態(tài)
K TASK_KILLABLE:進(jìn)程處于睡眠狀態(tài),與不可中斷的D狀態(tài)相同,但有所修改,允許等待中的任務(wù)通過(guò)響應(yīng)信號(hào)而被中斷(徹底退出)。實(shí)用程序通常將可中斷的進(jìn)程顯示為D狀態(tài)
T TASK_STOPPED:進(jìn)程已被停止(暫停),通常是通過(guò)用戶或其他進(jìn)程發(fā)出的信號(hào)。進(jìn)程可以通過(guò)另一信號(hào)返回到運(yùn)行中狀態(tài),繼續(xù)執(zhí)行(恢復(fù))
T TASK_TRACED:正在被調(diào)試的進(jìn)程也會(huì)臨時(shí)停止,并且共享同一個(gè)T狀態(tài)標(biāo)志
Z EXIT_ZOMBIE:子進(jìn)程在退出時(shí)向父進(jìn)程發(fā)出信號(hào)。除進(jìn)程身份(PID)之外的所有資源都已釋放
X EXIT_DEAD:當(dāng)父進(jìn)程清理(獲?。┦S嗟淖舆M(jìn)程結(jié)構(gòu)時(shí),進(jìn)程現(xiàn)在已徹底釋放。此狀態(tài)從不會(huì)在進(jìn)程列出實(shí)用程序中看到
< 高優(yōu)先級(jí)進(jìn)程
N 低優(yōu)先級(jí)進(jìn)程
+ 前臺(tái)進(jìn)程組中的進(jìn)程
l 多線程進(jìn)程
s 會(huì)話進(jìn)程首進(jìn)程

5.進(jìn)程優(yōu)先級(jí)

  • <0-139>:數(shù)字越小,優(yōu)先級(jí)越高!
  • <0-99>:實(shí)時(shí)優(yōu)先級(jí),內(nèi)核調(diào)整
  • <100-139>:靜態(tài)優(yōu)先級(jí),用戶可控制

6.進(jìn)程管理命令

ps命令用于列出當(dāng)前的進(jìn)程??梢燥@示詳細(xì)的進(jìn)程信息

[root@localhost ~]# ps -e
    PID TTY          TIME CMD
      1 ?        00:00:02 systemd
      2 ?        00:00:00 kthreadd


[root@localhost ~]# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.6 179032 13504 ?        Ss   Nov03   0:02 /usr/lib/syst
root           2  0.0  0.0      0     0 ?        S    Nov03   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   Nov03   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   Nov03   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I<   Nov03   0:00 [kworker/0:0H
root           8  0.0  0.0      0     0 ?        I<   Nov03   0:00 [mm_percpu_wq
root           9  0.0  0.0      0     0 ?        S    Nov03   0:00 [ksoftirqd/0]
root          10  0.0  0.0      0     0 ?        R    Nov03   0:00 [rcu_sched]
root          11  0.0  0.0      0     0 ?        S    Nov03   0:00 [migration/0]
root          12  0.0  0.0      0     0 ?        S    Nov03   0:00 [watchdog/0]
root          13  0.0  0.0      0     0 ?        S    Nov03   0:00 [cpuhp/0]
root          15  0.0  0.0      0     0 ?        S    Nov03   0:00 [kdevtmpfs]
root          16  0.0  0.0      0     0 ?        I<   Nov03   0:00 [netns]
root          17  0.0  0.0      0     0 ?        S    Nov03   0:00 [kauditd]
root          18  0.0  0.0      0     0 ?        S    Nov03   0:00 [khungtaskd]
root          19  0.0  0.0      0     0 ?        S    Nov03   0:00 [oom_reaper]
root          20  0.0  0.0      0     0 ?        I<   Nov03   0:00 [writeback]
root          21  0.0  0.0      0     0 ?        S    Nov03   0:00 [kcompactd0]
root          22  0.0  0.0      0     0 ?        SN   Nov03   0:00 [ksmd]
root          23  0.0  0.0      0     0 ?        SN   Nov03   0:00 [khugepaged]
root          24  0.0  0.0      0     0 ?        I<   Nov03   0:00 [crypto]
root          25  0.0  0.0      0     0 ?        I<   Nov03   0:00 [kintegrityd]
root          26  0.0  0.0      0     0 ?        I<   Nov03   0:00 [kblockd]
root          27  0.0  0.0      0     0 ?        I<   Nov03   0:00 [tpm_dev_wq]
root          28  0.0  0.0      0     0 ?        I<   Nov03   0:00 [md]
root          29  0.0  0.0      0     0 ?        I<   Nov03   0:00 [edac-poller]
root          30  0.0  0.0      0     0 ?        S    Nov03   0:00 [watchdogd]
root          47  0.0  0.0      0     0 ?        S    Nov03   0:00 [kswapd0]
root         140  0.0  0.0      0     0 ?        I<   Nov03   0:00 [kthrotld]
root         141  0.0  0.0      0     0 ?        S    Nov03   0:00 [irq/24-pcieh
root         142  0.0  0.0      0     0 ?        S    Nov03   0:00 [irq/25-pcieh
root         143  0.0  0.0      0     0 ?        S    Nov03   0:00 [irq/26-pcieh
root         144  0.0  0.0      0     0 ?        S    Nov03   0:00 [irq/27-pcieh
root         145  0.0  0.0      0     0 ?        S    Nov03   
[root@localhost ~]# ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 Nov03 ?        00:00:02 /usr/lib/systemd/systemd --s
root           2       0  0 Nov03 ?        00:00:00 [kthreadd]
root           3       2  0 Nov03 ?        00:00:00 [rcu_gp]
root           4       2  0 Nov03 ?        00:00:00 [rcu_par_gp]
root           6       2  0 Nov03 ?        00:00:00 [kworker/0:0H-k

7.vmstat

虛擬內(nèi)存狀態(tài)查看命令

vmstat 1000 //表示每1000秒刷新一次
vmstat 1000 5 //表示每1000秒刷新一次,刷新5次后退出

[root@localhost ~]# vmstat 1000
procs:
    r(running)  //表示等待運(yùn)行的隊(duì)列長(zhǎng)度,也即等待運(yùn)行的進(jìn)程的個(gè)數(shù)
    b(block)    //表示阻塞隊(duì)列長(zhǎng)度,也即處于不可中斷睡眠態(tài)的進(jìn)程個(gè)數(shù)
memory:
    swpd        //交換內(nèi)存的使用總量
    free        //空閑物理內(nèi)存總量
    buffer      //用于buffer的內(nèi)存總量
    cache       //用于cache的內(nèi)存總量
swap:
    si(swap in)     //表示從物理內(nèi)存有多少頁(yè)面換進(jìn)swap,也即數(shù)據(jù)進(jìn)入swap的數(shù)據(jù)速率(kb/s)
    so(swap out)    //表示從swap有多少頁(yè)面換進(jìn)物理內(nèi)存,也即數(shù)據(jù)離開swap的數(shù)據(jù)速率(kb/s)
io:
    bi(block in)    //表示磁盤塊有多少個(gè)被調(diào)入內(nèi)存中,也即從塊設(shè)備讀入數(shù)據(jù)到系統(tǒng)的速率(kb/s)
    bo(block out)   //表示有多少個(gè)磁盤塊從內(nèi)存中被同步到硬盤上去了,也即保存數(shù)據(jù)至塊設(shè)備的速率(kb/s)
system:
    in( interrupts)     //表示中斷的個(gè)數(shù),也即中斷速率(kb/s)
    cs(context switch)  //表示上下文切換的次數(shù),也即進(jìn)程切換速率(kb/s)
CPU:
    us      //表示用戶空間
    sy      //表示內(nèi)核空間
    id      //表示空閑百分比
    wa      //表示等待IO完成所占據(jù)的時(shí)間百分比
    st      //表示steal,被虛擬化技術(shù)偷走的時(shí)間(比如運(yùn)行虛擬機(jī))

8.后臺(tái)運(yùn)行作業(yè)

//在命令后跟上&符號(hào)可以生成一個(gè)后臺(tái)作業(yè)
[root@localhost ~]# sleep 1000 &
[1] 1400
//jobs命令用于顯示當(dāng)前所有的后臺(tái)作業(yè)
[root@localhost ~]# jobs
[1]+  Running                 sleep 1000 &
//fg命令用于將后臺(tái)作業(yè)調(diào)至前臺(tái)運(yùn)行
[root@localhost ~]# fg
//當(dāng)只有一個(gè)后臺(tái)作業(yè)時(shí),直接使用fg命令,不跟任何參數(shù)即可將后臺(tái)作業(yè)調(diào)至前臺(tái)運(yùn)行,但是當(dāng)有多個(gè)作業(yè)時(shí)則必須跟上%+作業(yè)號(hào),也就是上面命令執(zhí)行結(jié)果中以[]括起來(lái)的數(shù)字。
[root@localhost ~]# jobs
[1]-  Running                 sleep 1000 &
[2]+  Running                 sleep 500 &
[root@localhost ~]# fg %1
//使用ctrl+z可將前臺(tái)進(jìn)程發(fā)送到后臺(tái),此時(shí)作業(yè)將處于停止?fàn)顟B(tài)
[root@localhost ~]# fg %1
sleep 1000
^Z
[1]+  Stopped                 sleep 1000
//使用bg命令+作業(yè)號(hào)可使后臺(tái)已停止的作業(yè)重新運(yùn)行
[root@localhost ~]# bg %1
[1]+ sleep 1000 &
[root@localhost ~]# jobs
[1]-  Running                 sleep 1000 &
[2]+  Running                 sleep 500 &
//kill加上作業(yè)號(hào)可以手動(dòng)殺死指定作業(yè)
[root@localhost ~]# jobs
[1]-  Running                 sleep 1000 &
[2]+  Running                 sleep 500 &
[root@localhost ~]# kill %1
[1]-  Terminated              sleep 1000
[root@localhost ~]# jobs
[2]+  Running                 sleep 500 &
//jobs命令的結(jié)果中
    +       //命令將默認(rèn)操作的作業(yè)
    -     //命令將第二個(gè)默認(rèn)操作的作業(yè)

以上就是Linux運(yùn)維基礎(chǔ)進(jìn)程管理及環(huán)境組成分析的詳細(xì)內(nèi)容,更多關(guān)于Linux進(jìn)程管理及環(huán)境組成的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • linux設(shè)置tomcat自啟動(dòng)的方法

    linux設(shè)置tomcat自啟動(dòng)的方法

    這篇文章主要介紹了linux設(shè)置tomcat自啟動(dòng)的方法,需要的朋友可以參考下
    2014-03-03
  • Linux中利用grep命令如何檢索文件內(nèi)容詳解

    Linux中利用grep命令如何檢索文件內(nèi)容詳解

    這篇文章主要給大家介紹了關(guān)于Linux中利用grep命令如何檢索文件內(nèi)容的相關(guān)資料,并且給大家簡(jiǎn)單介紹了關(guān)于Linux grep和find的區(qū)別,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-11-11
  • Ubuntu Apahce2.4下無(wú)法訪問(wèn)JS目錄的問(wèn)題解決

    Ubuntu Apahce2.4下無(wú)法訪問(wèn)JS目錄的問(wèn)題解決

    這篇文章主要給大家介紹了如何解決Ubuntu Apahce2.4下無(wú)法訪問(wèn)JS目錄的問(wèn)題,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • Ubuntu終端多窗口分屏Terminator

    Ubuntu終端多窗口分屏Terminator

    今天小編就為大家分享一篇關(guān)于Ubuntu終端多窗口分屏Terminator的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • Linux用戶管理與常見權(quán)限命令

    Linux用戶管理與常見權(quán)限命令

    在Linux系統(tǒng)中,用戶和組是管理權(quán)限和資源訪問(wèn)的基本單元,用戶可以屬于一個(gè)或多個(gè)組,組用于集中管理一組用戶的權(quán)限,文件權(quán)限決定了用戶或組對(duì)文件的訪問(wèn)級(jí)別,每個(gè)文件或目錄都有三個(gè)權(quán)限集,分別適用于文件所有者(User)、所屬組(Group)和其他用戶(Others)
    2024-08-08
  • linux下實(shí)現(xiàn)VPS免費(fèi)備份腳本

    linux下實(shí)現(xiàn)VPS免費(fèi)備份腳本

    因?yàn)楸綽olg是架設(shè)在vps上的,空間商又沒(méi)有提供備份的功能,所以說(shuō)哪天vps掛了,我的網(wǎng)站也就跟著掛了
    2012-05-05
  • Apache的fork模式和worker模式判斷方法

    Apache的fork模式和worker模式判斷方法

    這篇文章主要介紹了Apache的fork模式和worker模式判斷方法,文中給出的方法基于http,需要的朋友可以參考下
    2015-07-07
  • 詳解linux下避免僵尸進(jìn)程的幾種方法

    詳解linux下避免僵尸進(jìn)程的幾種方法

    本篇文章主要介紹了詳解linux下避免僵尸進(jìn)程的幾種方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Apache和Tomcat有什么區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Apache和Tomcat有什么區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Apache 和 Tomcat 都是web網(wǎng)絡(luò)服務(wù)器,兩者既有聯(lián)系又有區(qū)別。下面通過(guò)本文給大家介紹Apache和Tomcat的區(qū)別,感興趣的朋友一起看看吧
    2017-08-08
  • linux定時(shí)任務(wù)的一些相關(guān)操作匯總

    linux定時(shí)任務(wù)的一些相關(guān)操作匯總

    這篇文章主要給大家介紹了關(guān)于linux定時(shí)任務(wù)的一些相關(guān)操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux系統(tǒng)組件具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評(píng)論