亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在使用linux的時候,進程管理是必須要掌握的技能,下面從幾個方面介紹下進程管理相關(guān)知識點。

進程分類

  • 前臺進程:

該程序運行行,就占據(jù)了命令提示符;

  • 后臺進程:

啟動之后,釋放命令提示符,后續(xù)的操作在后臺執(zhí)行;

從前臺到后臺:

當(dāng)使用Ctrl+z 后該進程會放到后臺,并停止運行;

如果想讓它在后臺繼續(xù)運行,則可以使用bg命令:

# bg   job_id

這個job_id是使用jobs命令來查看的。每個放到后臺的進程都有一個作業(yè)號。

[root@ns2 ~]# jobs
 [1]  + suspended  sleep 3600
[root@ns2 ~]# 

作業(yè)號:

+:有+號的表示命令默認操作的作業(yè);

-:有-號的表示命令將第二個執(zhí)行的操作;

把后臺的進程拿到前臺來執(zhí)行:

# fg  job_id

終止某個作業(yè):

# kill  %job_id  //注意這里的這個%一定不能省;

進程狀態(tài)

D:不可中斷的睡眠,通常是I/0操作;
R:運行或就緒,在運行隊列上;
S:可中斷的睡眠,(等待一個事件的結(jié)束)
T:停止
Z:僵死
<:高優(yōu)先級進程
N:低優(yōu)先級進程
+:前臺進程組中的進程(和終端相關(guān)的)
l:多線程進程
s:會話進程首進程

 PS命令

ps - report a snapshot of the current processes 給當(dāng)前進程生成一個快照;可以理解成process status

ps命令支持兩種不同風(fēng)格的參數(shù),BSD和UNIX;

  • BSD風(fēng)格:不加-
[root@ns2 ~]# ps aux|head
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 10368 668 ? Ss 10:26 0:01 init [3]
root 2 0.0 0.0 0 0 ? S< 10:26 0:00 [migration/0]
root 3 0.0 0.0 0 0 ? SN 10:26 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S< 10:26 0:18 [events/0]
root 5 0.0 0.0 0 0 ? S< 10:26 0:00 [khelper]
root 10 0.0 0.0 0 0 ? S< 10:26 0:00 [kthread]
root 14 0.0 0.0 0 0 ? S< 10:26 0:00 [kblockd/0]
root 15 0.0 0.0 0 0 ? S< 10:26 0:00 [kacpid]
root 186 0.0 0.0 0 0 ? S< 10:26 0:00 [cqueue/0]
[root@ns2 ~]#

USER:表示運行此進程的用戶

PID:表示此進程的進程號

%CPU:表示此進程占用CPU的百分比

%MEM:表示此進程占用內(nèi)存的百分比

VSZ:此進程占用的虛擬內(nèi)存大小,單位KB

virtual memory size of the process in KiB (1024-byte units). Device mAppings are currently excluded; this is subject to change.

RSS:此進程占用常住內(nèi)存大小,不包括swapped的大小,也就是物理內(nèi)存的大小,單位KB

resident set size, the non-swapped physical memory that a task has used (in kiloBytes).

TTY:表示此進程所屬的終端,?表示不屬于任何終端;

STAT:該進程的狀態(tài);

START:表示此進程的啟動時間,

TIME 占用CPU的累積時長;

accumulated cpu time, user + system. The display format is usually "MMM:SS", but can be shifted to the right if the process used more than 999 minutes of cpu time.

COMMAND:是哪個命令啟動的該進程,如果命令是被[]包起來的,則表示是內(nèi)核進程;

  • UNIX風(fēng)格:必須加-

例如:ps -elf

-e Select all processes. Identical to -A 顯示所有的進程,和-A選項是一樣的,所以也可以寫在:ps -Alf

-l long format. The -y option is often useful with this. 使用長行格式顯示,

-f does full-format listing. This option can be combined with many other UNIX-style options to add additional columns.就是說使用比較全的格式來顯示,這樣可以顯示更多的信息;

[root@ns2 ~]# ps -elf|head
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 75 0 - 2592 - 10:26 ? 00:00:01 init [3]
1 S root 2 1 0 -40 - - 0 migrat 10:26 ? 00:00:00 [migration/0]
1 S root 3 1 0 94 19 - 0 ksofti 10:26 ? 00:00:00 [ksoftirqd/0]
1 S root 4 1 0 70 -5 - 0 worker 10:26 ? 00:00:19 [events/0]
1 S root 5 1 0 70 -5 - 0 worker 10:26 ? 00:00:00 [khelper]
5 S root 10 1 0 74 -5 - 0 worker 10:26 ? 00:00:00 [kthread]
1 S root 14 10 0 70 -5 - 0 worker 10:26 ? 00:00:00 [kblockd/0]
1 S root 15 10 0 80 -5 - 0 worker 10:26 ? 00:00:00 [kacpid]
1 S root 186 10 0 77 -5 - 0 worker 10:26 ? 00:00:00 [cqueue/0]
[root@ns2 ~]#

-U|u :顯示屬于指定的用戶名或用戶UID的進程。-u:表示的是有效的UID,比如:當(dāng)Jack用戶正在執(zhí)行passwd在修改自己的密碼,那么此時,用pgrep -u jack passwd并不能看到,因為passwd是有SUID的,此時該進程的執(zhí)行者已經(jīng)是root了。如果使用-U就可以顯示出jack;

-o 用戶可以定義要顯示的字段:ppid,pid,cmd,stat等

pgrep命令

pgrep patten

查找能夠匹配pattern的進程的進程號

pgrep -u|U root pattern

查找屬于root用戶的進程,并且能夠匹配pattern的進程的進程號. -u和-U的區(qū)別上ps的是一樣的;

[root@ns2 ~]# pgrep bash
5822
6126
6345
[root@ns2 ~]# pgrep -u root bash
5822
6126
[root@ns2 ~]#

pstree命令:

pstree 以樹狀結(jié)構(gòu)來顯示進程信息;

 top命令:

以動態(tài)的方式顯示系統(tǒng)中的進程的相關(guān)信息:

[root@ns2 ~]# top -n 1
top - 23:49:36 up 13:23, 3 users, load average: 0.00, 0.00, 0.00
Tasks: 99 total, 1 running, 98 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.4%id, 0.2%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 507528k total, 424776k used, 82752k free, 43412k buffers
Swap: 1052248k total, 0k used, 1052248k free, 198940k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 15 0 10368 668 564 S 0.0 0.1 0:01.10 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0

%wa wait 等待I/0所占用CPU時間的百分比;

%hi Hard Interruption CPU的硬中斷;

%si Soft Interruption CPU的軟中斷;

%st 指的是被偷走的CPU的時間;

VIRT 表示虛擬內(nèi)存swap的使用量,單位是KB;

RES 表示的是物理內(nèi)存的使用量,單位是KB;

SHR 表示的是占用共享內(nèi)存的大小,單位是KB。因為LINUX系統(tǒng)中有一個庫是共享的,所以在內(nèi)存中也是以共享內(nèi)存的方式提供的,這樣就避免了每個進程都要單獨分一點內(nèi)存來使用相同的庫。

TIME+ 真正占用CPU的時間;

top中的交互命令:

1(數(shù)字):如果服務(wù)器有多個CPU,那當(dāng)按1后,就會顯示每個CPU的負載情況;

M:按物理內(nèi)存的占用來排序;

P:按CPU占用來排序;

T:按占用CPU的時間來排序;

l (小寫L):是否顯示平均負載和啟動時間那一行;

t:是否顯示Tasks和CPU(s)狀態(tài)那一行信息;

m:是否顯示內(nèi)存和SWAP使用情況的那兩行;

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

q:退出top

k:終止指定的進程,按下k后,會讓用戶輸入一個進程的pid

> 表示向后翻頁;

< 向前翻頁;

 

-d number 表示讓top刷新的時間;

-b 讓top以一批一批地來顯示;也就是一次顯示全部進程的相關(guān)信息;

-n number 當(dāng)top工作在批模式下時,-n表示讓top顯示多少批;

進程間通信的方式

1、共享內(nèi)存:一個進程在這塊共享內(nèi)存中寫入數(shù)據(jù),另一個進程再去讀這個數(shù)據(jù);

2、使用信號;

3、使用semaphore

Linux中的信號種類:

查看當(dāng)前系統(tǒng)中支持的信息有哪些,可以使用kill -l命令:

[root@ns2 ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
[root@ns2 ~]#

其中幾個最重要的是:

1:SIGHUP 讓一個里程不用重啟,就可以重新讀取其配置文件,并讓新的配置文件生效;

2:SIGINT 中斷一個進程,和Ctrl+c的作用一樣;

9:SIGKILL 殺死一個進程,直接關(guān)閉,不論是不是有打開的文件或是提供的服務(wù);

15:SIGTERM 終止一個進程,如果該進程有打開的文件或是正在提供服務(wù)等,會等它這些操作都完成后,再關(guān)閉;(kill 的默認信號)

指定一個信號 :

  1. 使用信號號碼:kill -1|2|9|15
  2. 使用信號名稱:kill -SIGKILL
  3. 使用信號簡寫:kill -KILL

kill的用法:

# kill -9 pid

還有一個命令是killall,也可以和kill一樣接受信號,只是killall后面接的是進程名稱;

# killall [-9] httpd

調(diào)整進程的NICE值:

進程的nice命令代表的是進程的優(yōu)先級:范圍是-20~19,數(shù)字越小,優(yōu)先級越高;

  • 對于已經(jīng)在運行的進程,那么可以使用renice命令
# renice 18 33098 //后面接的是進程的PID
  • 對于還沒有運行的程序,可以在其運行的時候使用nice來指定
# nice -n 10 tar zcf test.tgz /tmp

vmstat命令

vmstat 查看系統(tǒng)狀態(tài)信息:

[root@ns2 ~]# vmstat 1 5
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 0 96616 53252 190240 0 0 63 9 1023 48 0 1 98 1 0
0 0 0 96616 53252 190240 0 0 0 0 1020 47 0 0 100 0 0
0 0 0 96616 53252 190264 0 0 0 0 994 28 0 0 100 0 0
0 0 0 96616 53252 190264 0 0 0 0 1010 48 0 2 98 0 0
0 0 0 96616 53252 190264 0 0 0 0 989 28 0 0 100 0 0
[root@ns2 ~]#
  • procs:表示進程相關(guān)信息:

r:表示正在運行的進程隊列長度;running

b:表示進程阻塞的隊列長度; blocked

memory:表示和內(nèi)存相關(guān)的信息:

swpd:表示內(nèi)存中有多少個頁面被交換到了交換分區(qū);

free:空閑的內(nèi)存頁面數(shù)量;

buff:緩沖使用的頁面數(shù)量;

cache:緩存使用的頁面數(shù)量;

swap:顯示和交換分區(qū)相關(guān)的信息:

si:有多個個內(nèi)存頁面被交換到了交換分區(qū);

so:有多個交換分區(qū)的頁面被交換到了內(nèi)存;

io:和硬盤I/O相關(guān):

bi:有多少個硬盤塊被放到內(nèi)存中;block in 這些方向都是相對于內(nèi)存來說的

bo:有多少個硬盤塊從內(nèi)存同步到了硬盤中;block out

  • system和系統(tǒng)相關(guān):

in:表示有多少個中斷;Interruption

cs:表示有多少次的上下文切換;也就是進程的輪換的到CPU上去執(zhí)行一段時間; context switch

  • CPU 和CPU相關(guān)的信息:

us:用戶空間占用的百分比;

sy:內(nèi)核空間占用的百分比;

id:系統(tǒng)空間百分比;

wa:等待I/O占用的百分比;

st:CPU被偷走的時間;

分享到:
標(biāo)簽:Linux
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定