第二十章、Linux進程管理

二十章、Linux進程管理


13_03_Linux進程管理之一


學習進程及作業管理

ppt :  network.ppt


VSZ: +共享庫

RSS: resident size

 

Uninterruptible sleep: 不可中斷的睡眠

Interruptible sleep:可中斷睡眠

 


13_04_Linux進程管理之二


進制優先級(0-139)

0-99:內核調整的

100-139:用戶可控制


2.6內核選擇一個進程的時間複雜度是O(1)


O:算法的時間複雜度

         O(1)

         O(n)

         O(logn)

         O(n^2)

         O(2^n)

ppt : netwoek.ppt


ps: Process State

         SysV風格(Sys5):-

         BSD風格:


ps - BSD風格

         a: 所有與終端有關的進程

         u: display user-oriented format

         x: 所有與終端無關的進程

        

進程的分類:

         跟終端相關的進程

         跟終端無關的進程

 

進程狀態:

         D:不可中斷的睡眠

         R:運行或就緒

         S:可中斷的睡眠

         T:停止

         Z:僵死

        

         <:高優先級進程

         N:低優先級進程

         +:前臺進程組中的進程

         l: 多線程進程

         s: 會話進程首進程


加中括號的進程是內核進程。


ps - SysV風格     

    -e: all

    -F: full format

    -l: long format

    -o: 指定顯示字段


常用

         -elF

         -ef

         -eF

 

ps -o PROPERTY1,PROPERTY2

ps -o pid,comm,ni

 

          

pstree顯示當前系統上的進程樹

 

pgrep: pgrep bash; pgrep -u root bash


pidof:根據程序名稱,查找其相關進程的ID號;



top:display Linux tasks

 

S字段: 

<:高優先級的進程

N:低優先級的進程

l: 多線程進程

+:前臺進程組中的進程

s: 會話進程的領導者

 

top子命令:

         M: 根據駐留內存大小進行排序

         P:根據CPU使用百分比進行排序

         T: 根據累計時間進行排序

        

         l: 是否顯示平均負載和啓動時間

         t: 是否顯示進程和CPU狀態相關信息

         m: 是否顯示內存相關信息

        

         c: 是否顯示完整的命令行信息

         q: 退出top

         k: 終止某個進程

 

top選項:

         -d: 指定延遲時長,單位是秒

         -b: 批模式

         -n #:在批模式下,共顯示多少批



進程間通信(IPC: Inter Process Communication)

         共享內存

         信號: Signal

         Semaphore



信號:

    查看信號:kill -l


重要的信號:

1: SIGHUP: 讓一個進程不用重啓,就可以重讀其配置文件,並讓新的配置信息生效;

2: SIGINT:Ctrl+c: 中斷一個進程

9: SIGKILL:殺死一個進程

15: SIGTERM:終止一個進程, kill的默認信號

        

指定一個信號:

         1. 信號號碼:kill -1

         2. 信號名稱:kill -SIGKILL

         3. 信號名稱簡寫:kill -KILL


結束進程:

kill PID

killall COMMAND

 


調整nice值:

調整已經啓動的進程的nice值:

renice NI PID

 

在啓動時指定nice值:

nice -n NI COMMAND

 

前後臺作業

前臺作業:佔據了命令提示符

後臺作業:啓動之後,釋放命令提示符,後續的操作在後臺完成

 

前臺-->後臺:

         Ctrl+z: 把正在前臺的作業送往後臺,處於停止狀態

         COMMAND &:讓命令在後臺執行

        

bg: 讓後臺的停止作業繼續運行

         bg [[%]JOBID]

 

jobs: 查看後臺的所有作業

         作業號不同於進程號

                   +:命令默認將操作的作業

                    -:命令第二個默認將操作的作業

                  

fg: 將後臺的作業調回前臺

         fg [[%]JOBID]

        

kill %JOBID: 終止某作業

 

vmstat:系統狀態查看命令

vmstat [ interval [ count ] ]

[root@CentOS mage]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0  85348 213456 363980 818276    0    0     0     1    1    2  0  0 100  0  0


各字段分別表示:

運行隊列長度,阻塞隊列長度, swap,空閒,buff, cache, si: swap in, so : swap out, bi: block in, bo block out, in: interrept 個數,cs: context switch, us: 用戶空間佔用CPU時間百分比, sy: 內核空間, id: 空閒, wa: 等待IO


uptime: top第一行內容

 

cat /proc/meminfo: 查看內存相關信息

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章