日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux基础篇-系统中进程相关概念

發(fā)布時(shí)間:2025/3/8 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux基础篇-系统中进程相关概念 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

進(jìn)程概念

? 內(nèi)核的功用:進(jìn)程管理、文件系統(tǒng)、網(wǎng)絡(luò)功能、內(nèi)存管理、驅(qū)動(dòng)程序、安全功能等

? Process: 運(yùn)行中的程序的一個(gè)副本,是被載入內(nèi)存的一個(gè)指令集合進(jìn)程ID(Process ID,PID)號(hào)碼被用來(lái)標(biāo)記各個(gè)進(jìn)程

UID、GID、和SELinux語(yǔ)境決定對(duì)文件系統(tǒng)的存取和訪問權(quán)限通常從執(zhí)行進(jìn)程的用戶來(lái)繼承存在生命周期

? task struct:Linux內(nèi)核存儲(chǔ)進(jìn)程信息的數(shù)據(jù)結(jié)構(gòu)格式

? task list:多個(gè)任務(wù)的的task struct組成的鏈表

? 進(jìn)程創(chuàng)建:

init:第一個(gè)進(jìn)程

進(jìn)程:都由其父進(jìn)程創(chuàng)建,父子關(guān)系,CoW(寫時(shí)復(fù)制copy on write)? ,fork(), clone()

進(jìn)程的基本狀態(tài)和轉(zhuǎn)換

進(jìn)程的基本狀態(tài)

??創(chuàng)建狀態(tài):進(jìn)程在創(chuàng)建時(shí)需要申請(qǐng)一個(gè)空白PCB(process control block進(jìn)程控制塊),向其中填寫控制和管理進(jìn)程的信息,完? ?成資源分配。如果創(chuàng)建工作無(wú)法完成,比如資源無(wú)法滿足,就無(wú)法被調(diào)度運(yùn)行,把此時(shí)進(jìn)程所處狀態(tài)稱為創(chuàng)建狀態(tài)

??就緒狀態(tài):進(jìn)程已準(zhǔn)備好,已分配到所需資源,只要分配到CPU就能夠立即運(yùn)行

??執(zhí)行狀態(tài):進(jìn)程處于就緒狀態(tài)被調(diào)度后,進(jìn)程進(jìn)入執(zhí)行狀態(tài)

??阻塞狀態(tài):正在執(zhí)行的進(jìn)程由于某些事件(I/O請(qǐng)求,申請(qǐng)緩存區(qū)失敗)而暫時(shí)無(wú)法運(yùn)行,進(jìn)程受到阻塞。在滿足請(qǐng)求時(shí)進(jìn)入? ?就緒狀態(tài)等待系統(tǒng)調(diào)用

??終止?fàn)顟B(tài):進(jìn)程結(jié)束,或出現(xiàn)錯(cuò)誤,或被系統(tǒng)終止,進(jìn)入終止?fàn)顟B(tài)。無(wú)法再執(zhí)行狀態(tài)之間轉(zhuǎn)換六種情況

??運(yùn)行——>就緒:1,主要是進(jìn)程占用CPU的時(shí)間過長(zhǎng),而系統(tǒng)分配給該進(jìn)程占用CPU的時(shí)間是有限的;2,在采用搶先式優(yōu)先級(jí)調(diào)度算法的系統(tǒng)中,當(dāng)有更高優(yōu)先級(jí)的進(jìn)程要運(yùn)行時(shí),該進(jìn)程就被迫讓出CPU,該進(jìn)程便由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài)

??就緒——>運(yùn)行:運(yùn)行的進(jìn)程的時(shí)間片用完,調(diào)度就轉(zhuǎn)到就緒隊(duì)列中選擇合適的進(jìn)程分配CPU

??運(yùn)行——>阻塞:正在執(zhí)行的進(jìn)程因發(fā)生某等待事件而無(wú)法執(zhí)行,則進(jìn)程由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài),如發(fā)生了I/O請(qǐng)求

??阻塞——>就緒:進(jìn)程所等待的事件已經(jīng)發(fā)生,就進(jìn)入就緒隊(duì)列

??以下兩種狀態(tài)是不可能發(fā)生的:

??阻塞——>運(yùn)行:即使給阻塞進(jìn)程分配CPU,也無(wú)法執(zhí)行,操作系統(tǒng)在進(jìn)行調(diào)度時(shí)不會(huì)從阻塞隊(duì)列進(jìn)行挑選,而是從就緒隊(duì)列中選取

??就緒——>阻塞:就緒態(tài)根本就沒有執(zhí)行,談不上進(jìn)入阻塞態(tài)

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

?進(jìn)程優(yōu)先級(jí):

系統(tǒng)優(yōu)先級(jí):數(shù)字越小,優(yōu)先級(jí)越高0-139(CentOS4,5)

各有140個(gè)運(yùn)行隊(duì)列和過期隊(duì)列

0-98,99(CentOS6)

實(shí)時(shí)優(yōu)先級(jí): 99-0 值最大優(yōu)先級(jí)最高

nice值:-20到19,對(duì)應(yīng)系統(tǒng)優(yōu)先級(jí)100-139或99

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

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

?

? 進(jìn)程內(nèi)存:

Page Frame: 頁(yè)框,用存儲(chǔ)頁(yè)面數(shù)據(jù),存儲(chǔ)Page 4k

LRU:Least Recently Used 近期最少使用算法,釋放內(nèi)存物理地址空間和線性地址空間

MMU:Memory Management Unit負(fù)責(zé)轉(zhuǎn)換線性和物理地址

TLB:Translation Lookaside Buffer翻譯后備緩沖器,用于保存虛擬地址和物理地址映射關(guān)系的緩存

? IPC: Inter Process Communication

同一主機(jī):signal:信號(hào)

shm: shared memory

semaphore:信號(hào)量,一種計(jì)數(shù)器

不同主機(jī):socket: IP和端口號(hào)

?RPC: remote procedure call

?MQ:消息隊(duì)列,Kafka,ActiveMQ

LRU算法

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

? Linux內(nèi)核:搶占式多任務(wù)

? 進(jìn)程類型:

? 守護(hù)進(jìn)程: daemon,在系統(tǒng)引導(dǎo)過程中啟動(dòng)的進(jìn)程,和終端無(wú)關(guān)進(jìn)程

? 前臺(tái)進(jìn)程:跟終端相關(guān),通過終端啟動(dòng)的進(jìn)程

? 注意:兩者可相互轉(zhuǎn)化

? 進(jìn)程狀態(tài):

? 運(yùn)行態(tài):running

? 就緒態(tài):ready

? 睡眠態(tài):

? 可中斷:interruptable

? 不可中斷:uninterruptable

? 停止態(tài):stopped,暫停于內(nèi)存,但不會(huì)被調(diào)度,除非手動(dòng)啟動(dòng)

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

系統(tǒng)管理工具

?進(jìn)程的分類:

CPU-Bound:CPU密集型,非交互

IO-Bound:IO密集型,交互

?Linux系統(tǒng)狀態(tài)的查看及管理工具:pstree, ps, pidof, pgrep, top, htop,

glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup

?pstree命令:

pstree - display a tree of processes

?ps: process state

ps - report a snapshot of the current processes

Linux系統(tǒng)各進(jìn)程的相關(guān)信息均保存在/proc/PID目錄下的各文件中,每個(gè)進(jìn)程都有一個(gè)PID號(hào)


ps:查看系統(tǒng)進(jìn)程

? ps [OPTION]...

? 支持三種選項(xiàng):

UNIX選項(xiàng)風(fēng)格 如-A -e??

BSD選項(xiàng)風(fēng)格? 如a

GNU選項(xiàng)風(fēng)格? 如--help

BSD風(fēng)格如下:

?? 選項(xiàng):默認(rèn)顯示當(dāng)前終端中的進(jìn)程

?? a 選項(xiàng)包括所有終端中的進(jìn)程

?? x 選項(xiàng)包括不鏈接終端的進(jìn)程

?? u 選項(xiàng)顯示進(jìn)程所有者的信息

?? f 選項(xiàng)顯示進(jìn)程樹,相當(dāng)于 --forest

?? k| --sort 屬性 對(duì)屬性 排序,屬性前加- 表示倒序

?? o 屬性… 選項(xiàng)顯示定制的信息 pid、cmd、%cpu、%mem

?? L 顯示支持的屬性列表

UNIX風(fēng)格如下:

??-C cmdlist 指定命令,多個(gè)命令用,分隔

??-L 顯示線程

??-e: 顯示所有進(jìn)程,相當(dāng)于-A

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

??-F: 顯示更完整格式的進(jìn)程信息

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

??-u userlist 指定有效的用戶ID或名稱

??-U userlist 指定真正的用戶ID或名稱

??-g gid或groupname 指定有效的gid或組名稱

??-G gid或groupname 指定真正的gid或組名稱

??-p pid 顯示指pid的進(jìn)程

??--ppid pid 顯示屬于pid的子進(jìn)程

??-M 顯示SELinux信息,相當(dāng)于Z

例子:ps axO??pid,%CPU,cmd??k pid? 顯示相關(guān)信息并按pid排序

ps輸出屬性

? VSZ: Virtual memory SiZe,虛擬內(nèi)存集,線性內(nèi)存

? RSS: ReSident Size, 常駐內(nèi)存集

? STAT:進(jìn)程狀態(tài)

R:running

S: interruptable sleeping

D: uninterruptable sleeping

T: stopped

Z: zombie

+: 前臺(tái)進(jìn)程

l: 多線程進(jìn)程

L:內(nèi)存分頁(yè)并帶鎖

N:低優(yōu)先級(jí)進(jìn)程

<: 高優(yōu)先級(jí)進(jìn)程

s: session leader,會(huì)話(子進(jìn)程)發(fā)起者

ps

?ni: nice值

?pri: priority 優(yōu)先級(jí)

?psr: processor CPU編號(hào)

?rtprio: 實(shí)時(shí)優(yōu)先級(jí)

?示例:

ps axo pid,cmd,psr,ni,pri,rtprio

?常用組合:

aux

-ef

-eFH

-eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm

axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm

ps示例

?查詢你擁有的所有進(jìn)程:

ps -x

?顯示指定用戶名(RUID)或用戶ID的進(jìn)程:

ps -fU apache

ps -fu 48

?顯示指定用戶名(EUID)或用戶ID的進(jìn)程:

ps -fu wang

ps -fu 1000

?查看以root用戶權(quán)限(實(shí)際和有效ID)運(yùn)行的每個(gè)進(jìn)程:

ps -U root -u root

?列出某個(gè)組擁有的所有進(jìn)程(實(shí)際組ID:RGID或名稱):

ps -fG nginx

ps示例

?列出有效組名稱(或會(huì)話)所擁有的所有進(jìn)程:

ps -fg mysql

ps -fG 27

?通過進(jìn)程ID來(lái)顯示所屬的進(jìn)程:

ps -fp 1234

?以父進(jìn)程ID來(lái)顯示其下所有的進(jìn)程,如顯示父進(jìn)程為1154的所有進(jìn)程:ps -f --ppid 1234

?顯示指定PID的多個(gè)進(jìn)程:ps -fp 1204,1239,1263

?要按tty顯示所屬進(jìn)程:ps -ft pst/0

?以進(jìn)程樹顯示系統(tǒng)中的進(jìn)程如何相互鏈接:ps -e --forest

?以進(jìn)程樹顯示指定的進(jìn)程

ps -f --forest -C sshd

ps -ef --forest | grep -v grep | grep sshd

?要顯示一個(gè)進(jìn)程的所有線程,將顯示LWP(輕量級(jí)進(jìn)程)以及NLWP(輕量級(jí)進(jìn)程數(shù))列:ps -fL -C nginx

?要列出所有格式說(shuō)明符:ps L

?查看進(jìn)程的PID,PPID,用戶名和命令:ps -eo pid,ppid,user,cmd

?自定義格式顯示文件系統(tǒng)組,ni值開始時(shí)間和進(jìn)程的時(shí)間:ps -p 1234 -o pid,ppid,fgroup,ni,lstart,etime

?使用其PID查找進(jìn)程名稱:ps -p 1244 -o comm=

?要以其名稱選擇特定進(jìn)程,顯示其所有子進(jìn)程:ps -C sshd,bash

?查找指定進(jìn)程名所有的所屬PID,在編寫需要從std輸出或文件讀取PID的腳本時(shí)這個(gè)參數(shù)很有用:ps -C httpd,sshd -o pid=

?檢查一個(gè)進(jìn)程的執(zhí)行時(shí)間:ps -eo comm,etime,user | grep nginx

?查找占用最多內(nèi)存和CPU的進(jìn)程:

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

?顯示安全信息:

ps -eM

ps --context

?使用以下命令以用戶定義的格式顯示安全信息。

ps -eo euser,ruser,suser,fuser,f,comm,label

?使用watch實(shí)用程序執(zhí)行重復(fù)的輸出以實(shí)現(xiàn)對(duì)就程進(jìn)行實(shí)時(shí)的監(jiān)視,如下面的命令顯示每秒鐘的監(jiān)視:

watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'

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

?進(jìn)程優(yōu)先級(jí)調(diào)整:

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

進(jìn)程默認(rèn)啟動(dòng)時(shí)的nice值為0,優(yōu)先級(jí)為120

只有根用戶才能降低nice值(提高優(yōu)先性)

?nice命令:

nice [OPTION] [COMMAND [ARG]...]

?renice命令:

renice [-n] priority pid...

?查看:

ps axo pid,comm,ni

搜索進(jìn)程

??最靈活:ps 選項(xiàng) | 其它命令

??按預(yù)定義的模式:pgrep

? pgrep [options] pattern

? -u uid: effective user,生效者

? -U uid: real user,真正發(fā)起運(yùn)行命令者

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

? -l: 顯示進(jìn)程名

? -a: 顯示完整格式的進(jìn)程名

? -P pid: 顯示指定進(jìn)程的子進(jìn)程

?按確切的程序名稱:/sbin/pidof

? pidof bash? 顯示進(jìn)程的關(guān)閉還是打開狀態(tài),可以用echo $? 返回執(zhí)行結(jié)果

系統(tǒng)工具

?uptime:

顯示當(dāng)前時(shí)間,系統(tǒng)已啟動(dòng)的時(shí)間、當(dāng)前上線人數(shù),系統(tǒng)平均負(fù)載(1、5、10分鐘的平均負(fù)載,一般不會(huì)超過1)

?系統(tǒng)平均負(fù)載:指在特定時(shí)間間隔內(nèi)運(yùn)行隊(duì)列中的平均進(jìn)程數(shù)

?通常每個(gè)CPU內(nèi)核的當(dāng)前活動(dòng)進(jìn)程數(shù)不大于3,那么系統(tǒng)的性能良好。如果每個(gè)CPU內(nèi)核的任務(wù)數(shù)大于5,那么此主機(jī)的性能有嚴(yán)重問題

?如果linux主機(jī)是1個(gè)雙核CPU,當(dāng)Load Average 為6的時(shí)候說(shuō)明機(jī)器已經(jīng)被充分使用


top進(jìn)程管理工具

?? top:有許多內(nèi)置命令

? 排序:

? P:以占據(jù)的CPU百分比,%CPU

? M:占據(jù)內(nèi)存百分比,%MEM

? T:累積占據(jù)CPU時(shí)長(zhǎng),TIME+

?首部信息顯示:

? uptime信息:l命令

? tasks及cpu信息:t命令

? cpu分別顯示:1 (數(shù)字)

? memory信息:m命令

? 退出命令:q

? 修改刷新時(shí)間間隔:s

? 終止指定進(jìn)程:k

? 保存文件:W

? 選項(xiàng):

-d #??指定刷新時(shí)間間隔,默認(rèn)為3秒

-b??全部顯示所有進(jìn)程

-n #??刷新多少次后退出

-H 線程模式,示例:top -H -p `pidof mysqld`

??欄位信息簡(jiǎn)介

?us:用戶空間

?sy:內(nèi)核空間?

?ni:調(diào)整nice時(shí)間

?id:空閑

?wa:等待IO時(shí)間

?hi:硬中斷

?si:軟中斷(模式切換)

?st:虛擬機(jī)偷走的時(shí)間

? htop命令:此命令需用EPEL源進(jìn)行YUM安裝之后才有

?選項(xiàng):

?-d #: 指定延遲時(shí)間;

?-u UserName: 僅顯示指定用戶的進(jìn)程

?-s COLUME: 以指定字段進(jìn)行排序

子命令:

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

?l:顯示選定進(jìn)程打開的文件列表

?a:將選定的進(jìn)程綁定至某指定CPU核心

?t:顯示進(jìn)程樹

free :命令顯示內(nèi)存空間

??內(nèi)存空間使用狀態(tài):

? free [OPTION]

? ?-b 以字節(jié)為單位

? ?-m 以MB為單位

? ?-g 以GB為單位

? ?-h 易讀格式

? ?-o 不顯示-/+buffers/cache行

? ?-t 顯示RAM + swap的總和

? ?-s n 刷新間隔為n秒

? ?-c n 刷新n次后即退出

vmstat內(nèi)存工具

?? vmstat命令:虛擬內(nèi)存信息

? vmstat [options] [delay [count]]

? vmstat 2 5

? procs:

? r:可運(yùn)行(正運(yùn)行或等待運(yùn)行)進(jìn)程的個(gè)數(shù),和核心數(shù)有關(guān)

? b:處于不可中斷睡眠態(tài)的進(jìn)程個(gè)數(shù)(被阻塞的隊(duì)列的長(zhǎng)度)

? memory:

? swpd: 交換內(nèi)存的使用總量

? free:空閑物理內(nèi)存總量

? buffer:用于buffer的內(nèi)存總量

? cache:用于cache的內(nèi)存總量

? swap:

? si:從磁盤交換進(jìn)內(nèi)存的數(shù)據(jù)速率(kb/s)

? so:從內(nèi)存交換至磁盤的數(shù)據(jù)速率(kb/s)

? io:

? bi:從塊設(shè)備讀入數(shù)據(jù)到系統(tǒng)的速率(kb/s)

? bo: 保存數(shù)據(jù)至塊設(shè)備的速率

? system:

? in: interrupts 中斷速率,包括時(shí)鐘

? cs: context switch 進(jìn)程切換速率

? cpu:

? us:Time spent running non-kernel code

? sy: Time spent running kernel code

? id: Time spent idle. Linux 2.5.41前,包括IO-wait time.

? wa: Time spent waiting for IO. 2.5.41前,包括in idle.

? st: Time stolen from a virtual machine. 2.6.11前, unknown.

? 選項(xiàng):

? -s: 顯示內(nèi)存的統(tǒng)計(jì)數(shù)據(jù)

iostat:統(tǒng)計(jì)CPU和設(shè)備IO信息

?示例:iostat 1 10

pmap命令:進(jìn)程對(duì)應(yīng)的內(nèi)存映射

??pmap [options] pid [...]

? -x: 顯示詳細(xì)格式的信息

? 示例:pmap 1

??另外一種實(shí)現(xiàn):

? cat /proc/PID/maps

glances系統(tǒng)監(jiān)控工具

?? glances命令:需要EPEL源安裝

?? 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

??常用選項(xiàng):

? -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 #: 延遲時(shí)間間隔

? -1:每個(gè)CPU的相關(guān)數(shù)據(jù)單獨(dú)顯示

dstat系統(tǒng)監(jiān)控工具

??dstat命令:系統(tǒng)資源統(tǒng)計(jì),代替vmstat,iostat

??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)計(jì)數(shù)據(jù)

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

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

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

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

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

??--tcp

??--udp

??--unix

??--raw

??--socket

??--ipc

??--top-cpu:顯示最占用CPU的進(jìn)程

??--top-io: 顯示最占用io的進(jìn)程

??--top-mem: 顯示最占用內(nèi)存的進(jìn)程

??--top-latency: 顯示延遲最大的進(jìn)程

iotop監(jiān)視磁盤狀況

?? iotop命令是一個(gè)用來(lái)監(jiān)視磁盤I/O使用狀況的top類工具iotop具有與top相似的UI,其中包括PID、用戶、I/O、進(jìn)程等相關(guān)信息,可查看每個(gè)進(jìn)程是如何使用IO

?? iotop輸出

? 第一行:Read和Write速率總計(jì)

? 第二行:實(shí)際的Read和Write速率

? 第三行:參數(shù)如下:

? 線程ID(按p切換為進(jìn)程ID)

? 優(yōu)先級(jí)

? 用戶

? 磁盤讀速率

? 磁盤寫速率

? swap交換百分比

? IO等待所占的百分比

? 線程/進(jìn)程命令

??-o, --only只顯示正在產(chǎn)生I/O的進(jìn)程或線程,除了傳參,可以在運(yùn)行過程中按o生效

??-b, --batch非交互模式,一般用來(lái)記錄日志

??-n NUM, --iter=NUM設(shè)置監(jiān)測(cè)的次數(shù),默認(rèn)無(wú)限。在非交互模式下很有用

??-d SEC, --delay=SEC設(shè)置每次監(jiān)測(cè)的間隔,默認(rèn)1秒,接受非×××數(shù)據(jù)例如1.1

??-p PID, --pid=PID指定監(jiān)測(cè)的進(jìn)程/線程

??-u USER, --user=USER指定監(jiān)測(cè)某個(gè)用戶產(chǎn)生的I/O

??-P, --processes僅顯示進(jìn)程,默認(rèn)iotop顯示所有線程

??-a, --accumulated顯示累積的I/O,而不是帶寬

??-k, --kilobytes使用kB單位,而不是對(duì)人友好的單位。在非交互模式下,腳本編程有用

iotop常用參數(shù)和快捷鍵

??-t, --time 加上時(shí)間戳,非交互非模式

??-q, --quiet 禁止頭幾行,非交互模式,有三種指定方式

?? -q 只在第一次監(jiān)測(cè)時(shí)顯示列名

?? -qq 永遠(yuǎn)不顯示列名

?? -qqq 永遠(yuǎn)不顯示I/O匯總

??交互按鍵

left和right方向鍵:改變排序

?r:反向排序

?o:切換至選項(xiàng)--only

?p:切換至--processes選項(xiàng)

?a:切換至--accumulated選項(xiàng)

?q:退出

?i:改變線程的優(yōu)先級(jí)

Lsof

?? Lsof:list open files查看當(dāng)前系統(tǒng)文件的工具。在linux環(huán)境下,一切皆文件,用戶通過文件不僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng) 絡(luò)連接和硬件如傳輸控制協(xié)議 (TCP) 和用戶數(shù)據(jù)報(bào)協(xié)議 (UDP)套接字等,系統(tǒng)在后臺(tái)都為該應(yīng)用程序分配了一個(gè)文件描述符

?? 命令參數(shù)

?? -a:列出打開文件存在的進(jìn)程

?? -c<進(jìn)程名>:列出指定進(jìn)程所打開的文件

?? -g:列出GID號(hào)進(jìn)程詳情

?? -d<文件號(hào)>:列出占用該文件號(hào)的進(jìn)程

?? +d<目錄>:列出目錄下被打開的文件

?? +D<目錄>:遞歸列出目錄下被打開的文件

?? -n<目錄>:列出使用NFS的文件

?? -i<條件>:列出符合條件的進(jìn)程(4、6、協(xié)議、:端口、 @ip )

?? -p<進(jìn)程號(hào)>:列出指定進(jìn)程號(hào)所打開的文件

?? -u:列出UID號(hào)進(jìn)程詳情

?? -h:顯示幫助信息

?? -v:顯示版本信息。

?? -n: 不反向解析網(wǎng)絡(luò)名字

?? 進(jìn)程管理

?? 查看由登陸用戶啟動(dòng)而非系統(tǒng)啟動(dòng)的進(jìn)程:lsof /dev/pts1

?? 指定進(jìn)程號(hào),可以查看該進(jìn)程打開的文件:lsof -p 9527

?? 文件管理

?? 查看指定程序打開的文件:lsof -c httpd

?? 查看指定用戶打開的文件:lsof -u root | more

?? 查看指定目錄下被打開的文件

? lsof +D /var/log/

? lsof +d /var/log/

? 參數(shù)+D為遞歸列出目錄下被打開的文件,參數(shù)+d為列出目錄下被打開的文件

?? 網(wǎng)絡(luò)管理?

?? 查看所有網(wǎng)絡(luò)連接:lsof -i –n lsof -i@127.0.0.1

?通過參數(shù)-i查看網(wǎng)絡(luò)連接的情況,包括連接的ip、端口等以及一些服務(wù)的連接情況,例如:

?sshd等。也可以通過指定ip查看該ip的網(wǎng)絡(luò)連接情況

?? 查看端口連接情況:lsof -i :80 -n

?通過參數(shù)-i:端口可以查看端口的占用情況,-i參數(shù)還有查看協(xié)議,ip的連接情況等

?? 查看指定進(jìn)程打開的網(wǎng)絡(luò)連接:lsof -i –n -a -p 9527

? 參數(shù)-i、-a、-p等,-i查看網(wǎng)絡(luò)連接情況,-a查看存在的進(jìn)程,-p指定進(jìn)程

?? 查看指定狀態(tài)的網(wǎng)絡(luò)連接

? lsof -n -P -i TCP -s TCP:ESTABLISHED

? -n:no host names, -P:no port names,-i TCP指定協(xié)議,-s指定協(xié)議狀態(tài)通過多個(gè)參數(shù)可以

? 清晰的查看網(wǎng)絡(luò)連接情況、協(xié)議連接情況等

?恢復(fù)刪除文件(前提是使用此文件的程序未關(guān)閉)

? lsof |grep /var/log/messages

? rm -f /var/log/messages

? lsof |grep /var/log/messages

? cat /proc/653/fd/6

? cat /proc/653/fd/6 > /var/log/messages

進(jìn)程管理工具

? kill命令:

向進(jìn)程發(fā)送控制信號(hào),以實(shí)現(xiàn)對(duì)進(jìn)程管理,每個(gè)信號(hào)對(duì)應(yīng)一個(gè)數(shù)字,信號(hào)名稱以SIG開頭(可省略),不區(qū)分大小寫

?顯示當(dāng)前系統(tǒng)可用信號(hào): kill –l,trap -l

?常用信號(hào):man 7 signal

?1) SIGHUP: 無(wú)須關(guān)閉進(jìn)程而讓其重讀配置文件

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

?3) SIGQUIT:相當(dāng)于ctrl+\

?9) SIGKILL: 強(qiáng)制殺死正在運(yùn)行的進(jìn)程

?15) SIGTERM:終止正在運(yùn)行的進(jìn)程

?18) SIGCONT:繼續(xù)運(yùn)行

?19) SIGSTOP:后臺(tái)休眠

?指定信號(hào)的方法:

?(1) 信號(hào)的數(shù)字標(biāo)識(shí):1, 2, 9

?(2) 信號(hào)完整名稱:SIGHUP?

?(3) 信號(hào)的簡(jiǎn)寫名稱:HUP

?按PID:kill [-SIGNAL] pid …:? kill –n SIGNAL pid;kill –s SIGNAL pid

?按名稱:killall [-SIGNAL] comm…

?按模式:pkill [options] pattern? 可以跟模式進(jìn)行匹配

-SIGNAL

-u uid: effective user,生效者

-U uid: real user,真正發(fā)起運(yùn)行命令者

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

-l: 顯示進(jìn)程名(pgrep可用)

-a: 顯示完整格式的進(jìn)程名(pgrep可用)

-P pid: 顯示指定進(jìn)程的子進(jìn)程



轉(zhuǎn)載于:https://blog.51cto.com/13498416/2169220

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的linux基础篇-系统中进程相关概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 波多野结衣在线观看一区二区 | 福利片第一页 | 国产91网址 | 黄色一级国产 | 久久久国 | 大度亲吻原声视频在线观看 | 色呦呦在线观看视频 | 国产精品羞羞答答 | 亚洲色图插插插 | 成人黄色在线视频 | av不卡网 | 国产福利一区二区三区在线观看 | 超碰成人免费电影 | 国产精品久久久久久久久久久久午夜片 | 91久久人澡人人添人人爽欧美 | 蜜桃又黄又粗又爽av免 | 1024视频污 | www.色99| 激情久久五月天 | 又黄又爽的免费视频 | 国产精品免费入口 | 午夜在线视频观看 | av剧情在线 | 91久久视频| 豆花免费跳转入口官网 | 99免费观看 | 激情五月激情综合 | 日韩精品高清在线观看 | 视频免费观看在线 | 7777av| 2019天天干| 奇米影视色 | av少妇 | 国产成人av免费观看 | 性视频在线 | 久久精品一区二区 | 国产黄色网页 | 亚洲人视频 | 亚洲欧美日韩精品一区 | 风间由美一区二区三区 | 欧美极品少妇 | 日韩在线网 | 四虎精品一区 | 四虎在线免费观看视频 | 日本香蕉视频 | 国产高清一 | 丰满饥渴老女人hd | 免费观看一区二区三区 | 丰满人妻一区二区三区四区 | 日本伦理一区二区 | 免费播放片大片 | 一区二区三区波多野结衣 | 国产一区二区激情 | 性高潮久久久久久久久久 | 成人性做爰aaa片免费看不忠 | 亚洲av无码一区二区三区人妖 | 午夜精品美女久久久久av福利 | 午夜精品毛片 | 国内偷拍一区二区 | a级片一区二区 | 免费的一级片 | 91看片在线 | 99久久久无码国产精品免费 | 亚洲精品一区二区三区四区 | 人妻熟人中文字幕一区二区 | 天码人妻一区二区三区在线看 | 中文字幕在线看高清电影 | 毛片免费全部无码播放 | 欧美日韩一区二区三区69堂 | 欧美一区二区三 | 天天干天天操天天舔 | 欧美一区二区三区国产 | 免费污网站在线观看 | 日韩av一区在线播放 | 重口味av | 日韩在线免费观看av | 亚洲风情亚aⅴ在线发布 | 欧美性吧| 国产高清无密码一区二区三区 | 久久久久香蕉 | 欧美最猛黑人xxxx黑人猛交 | 成人av毛片 | 国产免费又爽又色又粗视频 | 国产操 | 东京av男人的天堂 | 最新av网址在线观看 | 在线爽 | 久久久久久久久久久影视 | 十大污视频 | 国产精品男同 | 国产精品久久中文字幕 | 污网在线看 | 麻豆观看| 午夜福利电影一区二区 | 久久毛片网| 91天堂在线观看 | 亚洲一区二区 | 精品人妻无码一区二区三区换脸 | 色在线网站 |