性夜影院午夜看片,无码精品久久一区二区三区,婷婷成人丁香五月综合激情,校园春色 qvod,性调教室高h学校

Linux基礎(chǔ)教程之進程查看和管理及作業(yè)控制

在Linux系統(tǒng)中,內(nèi)核的功用有:進程管理、文件系統(tǒng)、網(wǎng)絡(luò)功能、內(nèi)存管理、驅(qū)動程序、安全功能等,在這眾多的模塊中,進程管理是相對重要的一環(huán),即使不像文件系統(tǒng)和網(wǎng)絡(luò)功能那么復(fù)雜。在進程管理中,內(nèi)核對進程的創(chuàng)建、切換、撤銷和調(diào)度都有很詳細的定義。

1、進程類型

守護進程在系統(tǒng)引導(dǎo)過程中啟動的進程,跟終端無關(guān)的進程

前臺進程跟終端相關(guān),通過終端啟動的進程

注意:也可把在前臺啟動的進程送往后臺,以守護模式運行

2、進程狀態(tài)

? ?在內(nèi)存中運行的進程也有著各種各樣的狀態(tài)

運行態(tài)R:running

就緒態(tài):ready

睡眠態(tài)

可中斷S:interruptable

不可中斷D:uninterruptable

停止態(tài)T:stopped,暫停于內(nèi)存中,但不會被調(diào)度,除非手動啟動

僵死態(tài)Z:zombie,結(jié)束進程,父進程結(jié)束前,子進程不關(guān)閉

3、進程調(diào)度

調(diào)度策略:調(diào)度策略就是這樣一組規(guī)則:決定什么時候以怎樣的方式選擇一個新進程運行。所以定義一個進程的優(yōu)先級來滿足這樣一種策略。這個策略以0-139的優(yōu)先級來表示。

實時優(yōu)先級:1-99

無需調(diào)整,數(shù)字越大,優(yōu)先級越高

靜態(tài)優(yōu)先級:100-139

可調(diào)整,數(shù)字越小,優(yōu)先級越高?

優(yōu)先級以Nice值調(diào)整

Nice:-20—-19 ,存在于task_struct結(jié)構(gòu)體中

公式如下:

????pri(new)=nice+pri(old) ?

調(diào)度算法:早起的Linux中,調(diào)度算法是根據(jù)進程的優(yōu)先級選擇“最佳”進程來執(zhí)行,它的缺點是時間開銷與“可運行進程數(shù)量”有關(guān)。某種調(diào)度算法一定滿足一種函數(shù)關(guān)系,業(yè)界稱為Big O

Big O:時間復(fù)雜度,用時和規(guī)模的關(guān)系。有:

O(1), O(logn), O(n)線性, O(n^2)拋物線, O(2^n)

4、進程管理命令之pstree

pstree – display a tree of processes

顯示進程數(shù)

5、進程管理命令之ps

Linux系統(tǒng)各進程的相關(guān)信息均保存在/proc/PID目錄下的各文件中;

ps [OPTION]…

選項:支持兩種風(fēng)格

常用組合:aux

u: 以用戶為中心組織進程狀態(tài)信息顯示

a: 與終端相關(guān)的進程;

x: 與終端無關(guān)的進程;

~]# ps aux

USER ? ? ? ?PID %CPU %MEM ? ?VSZ ? RSS TTY ? ? ?STAT TART ? TIME COMMAND

USER 運行進程的用戶
PID 進程ID
%CPU 占用CPU
%MEM 占用內(nèi)存
VSZ 虛擬內(nèi)存集
RSS 實際內(nèi)存集
TTY 終端信息
STAT 進程狀態(tài)
START 進程狀態(tài)
TIME 運行時間
COMMAND 進程名稱

常用組合:-ef

–e: 顯示所有進程

-f: 顯示完整格式程序信息

常用組合:-eFH

-F: 顯示完整格式的進程信息

-H: 以進程層級格式顯示進程相關(guān)信息

 

6、進程管理命令之pkill

pkill [options] pattern ? ?

-u uid: effective user

-U uid: real user

-t terminal: 與指定終端相關(guān)的進程

-l: 顯示進程名

-a: 顯示完整格式的進程名

-P pid: 顯示其父進程為此處指定的進程的進程列表

7、進程管理命令之pidof

根據(jù)進程名獲取其PID

8、進程管理命令之top

Linux基礎(chǔ)教程之進程查看和管理及作業(yè)控制

Tasks

total 進程總數(shù)
running 運行進程數(shù)
sleeping 休眠態(tài)進程數(shù)
stopped 停止態(tài)進程數(shù)
zobie 僵死態(tài)進程數(shù)

%Cpu(s)

us(user space) 用戶空間占用CPU百分比
sy(system) 內(nèi)核空間占用CPU百分比 ? 注:高負載時:us:sy=7:3
ni(nice) 修改nice值占用的CPU百分比
id(idle) 空閑的CPU百分比
wa(wait) 等待IO完成占用的CPU百分比
hi(hardware interrupt) 硬中斷占用CPU百分比
si(software interrupt) 軟中斷占用CPU百分比
st(stole) 被偷走的CPU,比如VMware
buffer(緩沖) 元數(shù)據(jù)
cache(緩存) 數(shù)據(jù)
PID 進程號
USER 進程發(fā)起者
PR(priority) 優(yōu)先級
NI(Nice) nice值
VIRT 虛擬內(nèi)存集
RES 常駐內(nèi)存集
SHR 共享內(nèi)存集
S(status) 狀態(tài)
%CPU CPU占用比
%MEM 內(nèi)存占用比
TIME+ 運行時長
COMMAND 啟動進程

對顯示排序的方法:

P 占據(jù)的CPU百分比
M 占據(jù)內(nèi)存百分比
T 累積占據(jù)CPU時長

首部信息顯示:

l uptime信息
t tasks及cpu信息
#數(shù)字 cpu分別顯示
m memory信息
s 修改刷新時間間隔
Esc 退出
k 終止指定進程
W 保存文件
q 退出命令

9、進程管理命令之htop

=

比top更加高級的進程管理軟件

f1幫助

f2切換CPU、mem、swap顯示方式

f10退出

常用選項:

-d #: 指定延遲時間;

-u UserName: 僅顯示指定用戶的進程;

-s COLOMN: 以指定字段進行排序;

命令:

s: 跟蹤選定進程的系統(tǒng)調(diào)用;

l: 顯示選定進程打開的文件列表;

a:將選定的進程綁定至某指定CPU核心;

t: 顯示進程樹

注意:Fedora-EPEL源

10、進程管理命令之vmstat

Linux基礎(chǔ)教程之進程查看和管理及作業(yè)控制

vmstat -s: 內(nèi)存的匯總信息

procs 項目
r 等待運行的進程的個數(shù),和核心數(shù)有關(guān)
b 處于不可中斷睡眠態(tài)的進程個數(shù)(被阻塞的隊列的長度)
swap 項目
si 從磁盤交換進內(nèi)存的數(shù)據(jù)速率(kb/s)
so 從內(nèi)存交換至磁盤的數(shù)據(jù)速率(kb/s)
io 項目
bi 從塊設(shè)備讀入數(shù)據(jù)到內(nèi)存的速率(kb/s) ? ?讀
bo 從內(nèi)存寫入磁盤的速率(kb/s) ?? ? ? ? ? 寫
memory 項目
swad 交換內(nèi)存的使用總量
free 空閑物理內(nèi)存總量
buffer 用于buffer的內(nèi)存總量
cache 用于cache的內(nèi)存總量
system 項目
in: interrupts 中斷速率
cs: context switch 進程切換速率
cpu 項目
us 用戶空間占用的比例
sy 內(nèi)核空間占用的比例
id 空閑空間占用的比例
wa 等待IO完成所消耗的時間比例
st 被虛擬化技術(shù)偷走的時間比例

11、進程管理命令之glances

glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [–password] [-t refresh] [-f file] [-o output]

內(nèi)建命令:

??a ?Sort processes automatically ? ? l ?Show/hide logs

??c ?Sort processes by CPU% ? ? ? ? ? b ?Bytes or bits for network I/O

??m ?Sort processes by MEM% ? ? ? ? ? w ?Delete warning logs

??p ?Sort processes by name ? ? ? ? ? x ?Delete warning and critical logs

??i ?Sort processes by I/O rate ? ? ? 1 ?Global CPU or per-CPU stats

??d ?Show/hide disk I/O stats ? ? ? ? h ?Show/hide this help screen

??f ?Show/hide file system stats ? ? ?t ?View network I/O as combination

??n ?Show/hide network stats ? ? ? ? ?u ?View cumulative network I/O

??s ?Show/hide sensors stats ? ? ? ? ?q ?Quit (Esc and Ctrl-C also work)

??y ?Show/hide hddtemp stats

常用選項:

-b: 以Byte為單位顯示網(wǎng)卡數(shù)據(jù)速率;

-d: 關(guān)閉磁盤I/O模塊;

-f /path/to/somefile: 設(shè)定輸入文件位置;

-o {HTML|CSV}:輸出格式;

-m: 禁用mount模塊

-n: 禁用網(wǎng)絡(luò)模塊

-t #: 延遲時間間隔

-1:每個CPU的相關(guān)數(shù)據(jù)單獨顯示;

C/S模式下運行g(shù)lances命令:

服務(wù)模式:

glances -s -B IPADDR

IPADDR: 指明監(jiān)聽于本機哪個地址

客戶端模式:

glances -c IPADDR

IPADDR:要連入的服務(wù)器端地址

12、進程管理命令之dstat

dstat [-afv] [options..] [delay [count]]

-c: 顯示cpu相關(guān)信息;

-C #,#,…,total

-d: 顯示disk相關(guān)信息;

-D total,sda,sdb,…

-g:顯示page相關(guān)統(tǒng)計數(shù)據(jù);

-m: 顯示memory相關(guān)統(tǒng)計數(shù)據(jù);

-n: 顯示network相關(guān)統(tǒng)計數(shù)據(jù);

-p: 顯示process相關(guān)統(tǒng)計數(shù)據(jù);

-r: 顯示io請求相關(guān)的統(tǒng)計數(shù)據(jù);

-s: 顯示swapped相關(guān)的統(tǒng)計數(shù)據(jù);

–top-cpu:顯示最占用CPU的進程;

–top-io: 顯示最占用io的進程;

–top-mem: 顯示最占用內(nèi)存的進程;

–top-lantency: 顯示延遲最大的進程;

13、進程管理命令之kill

kill命令:

向進程發(fā)送控制信號,以實現(xiàn)對進程管理

顯示當(dāng)前系統(tǒng)可用信號:

# kill -l

# man 7 signal

常用信號:

1) SIGHUP: 無須關(guān)閉進程而讓其重讀配置文件;

2) SIGINT: 中止正在運行的進程;相當(dāng)于Ctrl+c;

9) SIGKILL: 殺死正在運行的進程;

15) SIGTERM:終止正在運行的進程;

18) SIGCONT:

19) SIGSTOP:

指定信號的方法:

(1) 信號的數(shù)字標(biāo)識;1, 2, 9

(2) 信號完整名稱;SIGHUP

(3) 信號的簡寫名稱;HUP

向進程發(fā)信號:

kill [-SIGNAL] PID…

終止“名稱”之下的所有進程:

killall [-SIGNAL] Program

14、Linux的作業(yè)控制

前臺作業(yè):通過終端啟動,且啟動后一直占據(jù)終端;

后臺作業(yè):可以通過終端啟動,但啟動后即轉(zhuǎn)入后臺運行(釋放終端);

如何讓作業(yè)運行于后臺?

(1) 運行中的作業(yè)

Ctrl+z

(2) 尚未啟動的作業(yè)

# COMMAND &

此類作業(yè)雖然被送往后臺運行,但其依然與終端相關(guān);如果希望送往后臺后,剝離與終端的關(guān)系:

# nohup COMMAND &

查看所有作業(yè):

# jobs

作業(yè)控制:

# fg [[%]JOB_NUM]:把指定的后臺作業(yè)調(diào)回前臺;

# bg [[%]JOB_NUM]:讓送往后臺的作業(yè)在后臺繼續(xù)運行;

# kill [%JOB_NUM]:終止指定的作業(yè);

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計算運維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機構(gòu)!