Linux基礎(chǔ):目錄名稱含義,監(jiān)測(cè)程序-創(chuàng)新互聯(lián)

Linux 文件系統(tǒng)

常見Linux目錄名稱:

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供永豐網(wǎng)站建設(shè)、永豐做網(wǎng)站、永豐網(wǎng)站設(shè)計(jì)、永豐網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、永豐企業(yè)網(wǎng)站模板建站服務(wù),十載永豐做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
目錄 用途
/虛擬目錄的根目錄。通常不會(huì)在這里存儲(chǔ)文件
/bin二進(jìn)制目錄,存放許多用戶級(jí)的GUN工具
/boot啟動(dòng)目錄,存放啟動(dòng)文件
/dev設(shè)備目錄,Linux在這里創(chuàng)建設(shè)備節(jié)點(diǎn)
/etc系統(tǒng)配置文件目錄
/home主目錄,Linux在這里創(chuàng)建用戶目錄
/lib庫(kù)目錄,存放系統(tǒng)和應(yīng)用程序的庫(kù)文件
/media媒體目錄,可移動(dòng)媒體設(shè)備的常用掛載點(diǎn)
/mnt掛載目錄,另一個(gè)可移動(dòng)媒體設(shè)備的常用掛載點(diǎn)
/opt可選目錄,常用于存放第三方軟件包和數(shù)據(jù)文件
/proc進(jìn)程目錄,存放現(xiàn)有硬件及當(dāng)前進(jìn)程的相關(guān)信息
/rootroot用戶的主目錄
/sbin系統(tǒng)二進(jìn)制目錄,存放許多GUN管理員級(jí)工具
/run運(yùn)行目錄,存放系統(tǒng)運(yùn)作時(shí)的運(yùn)行時(shí)數(shù)據(jù)
/srv服務(wù)目錄,存放本地服務(wù)的相關(guān)文件
/sys系統(tǒng)目錄,存放系統(tǒng)硬件信息的相關(guān)文件
/tmp臨時(shí)目錄,可以在該目錄中創(chuàng)建和刪除臨時(shí)工作文件
/usr用戶二進(jìn)制目錄,大量用戶級(jí)的GUN工具和數(shù)據(jù)文件都存儲(chǔ)在這里
/var可變目錄,用以存放經(jīng)常變化的文件,比如日志文件

常見的目錄名均基于文件系統(tǒng)層級(jí)標(biāo)準(zhǔn)(filesystem hierarchy stanard, FHS)。FHS偶爾會(huì)進(jìn)行更新,可能有些Linux發(fā)行版人在使用舊的FHS標(biāo)準(zhǔn)。最新的FHS標(biāo)準(zhǔn)可以訪問其官方主頁(yè):
http://www.pathname.com/fhs

ps 命令查看進(jìn)程

當(dāng)程序運(yùn)行在系統(tǒng)上時(shí),稱之為進(jìn)程(process)。要監(jiān)測(cè)這些進(jìn)程,就需要熟悉ps命令的用法。

默認(rèn)情況下,ps命令只會(huì)顯示運(yùn)行在當(dāng)前控制臺(tái)下的屬于當(dāng)前用戶的進(jìn)程:

$ ps
  PID TTY          TIME CMD
 4763 pts/0    00:00:00 bash
 4782 pts/0    00:00:00 ps
$

在這里,當(dāng)前用戶只運(yùn)行了bash shell(注意,shell也只是運(yùn)行在系統(tǒng)上的另一個(gè)進(jìn)程而已),以及ps命令本身。

Linux系統(tǒng)中使用的GNU ps命令支持3種不同類型的命令行參數(shù):

  • Unix風(fēng)格的參數(shù),前面加單破折線
  • BSD風(fēng)格的參數(shù),前面不加破折線
  • GNU風(fēng)格的長(zhǎng)參數(shù),前面加雙破折線

Unix風(fēng)格的參數(shù)

Unix風(fēng)格的參數(shù)是從貝爾實(shí)驗(yàn)室開發(fā)的AT&T Unix系統(tǒng)上原有的ps命令繼承下來的。
Unix風(fēng)格的ps命令參數(shù):

參數(shù) 描述
-A顯示所有進(jìn)程
-N顯示與指示參數(shù)不符的所有進(jìn)程
-a顯示除控制進(jìn)程(session leader)和無終端進(jìn)程外的所有進(jìn)程
-d顯示除控制進(jìn)程外的所有進(jìn)程
-e顯示所有進(jìn)程。應(yīng)該和-A是一樣的
-C cmdlist顯示包含在cmdlist列表中的進(jìn)程
-G grplist顯示組ID在grplist列表中的進(jìn)程
-U userlist顯示屬主的用戶ID在userlist列表中的進(jìn)程
-g grplist顯示會(huì)話或組ID在grplist列表中的進(jìn)程
-p pidlist顯示PID在pidlist列表中的進(jìn)程
-s sesslist顯示會(huì)話ID在sesslist列表中的進(jìn)程
-t ttylist顯示終端ID在ttylist列表中的進(jìn)程
-u userlist顯示有效用戶ID在userlist列表中的進(jìn)程
-F顯示更多額外輸出(相對(duì)-f參數(shù)而言)
-O format顯示默認(rèn)的輸出列以及format列表指定的特定列
-M顯示進(jìn)程的安全信息
-c顯示進(jìn)程的額外調(diào)度器信息
-f顯示完整格式的輸出
-j顯示任務(wù)信息
-l顯示長(zhǎng)列表
-o format僅顯示由format指定的列
-y不要顯示進(jìn)程標(biāo)記(process flag,表名進(jìn)程狀態(tài)的標(biāo)記)
-Z顯示安全標(biāo)簽(SELinux的security context)信息
-H用層級(jí)格式來顯示進(jìn)程(樹狀,用來顯示父進(jìn)程)
-n namelist定義了WCHAN列顯示的值
-w采用寬輸出模式,不限寬度顯示
-L顯示進(jìn)程中的線程
-V顯示ps命令的版本號(hào)

命令參數(shù)列出了很多,但是不一定全。使用ps命令的關(guān)鍵不在于記住多少可用的參數(shù)。而是只要記住最有用的一些參數(shù)組合就好了。

ps -ef
查看系統(tǒng)上運(yùn)行的所有進(jìn)程:

$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 18:23 ?        00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2     0  0 18:23 ?        00:00:00 [kthreadd]
root         3     2  0 18:23 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 18:23 ?        00:00:00 [kworker/0:0H]
root         6     2  0 18:23 ?        00:00:00 [kworker/u2:0]
root         7     2  0 18:23 ?        00:00:00 [migration/0]
root         8     2  0 18:23 ?        00:00:00 [rcu_bh]
root         9     2  0 18:23 ?        00:00:00 [rcu_sched]
root        10     2  0 18:23 ?        00:00:00 [lru-add-drain]

......

root      4250     1  0 18:23 ?        00:00:00 /usr/sbin/hypervkvpd -n
root      4251     1  0 18:23 ?        00:00:00 /usr/sbin/sshd -D
root      4253     1  0 18:23 ?        00:00:01 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root      4254     1  0 18:23 ?        00:00:00 /usr/sbin/rsyslogd -n
root      4515     1  0 18:23 ?        00:00:00 /usr/libexec/postfix/master -w
postfix   4532  4515  0 18:24 ?        00:00:00 qmgr -l -t unix -u
root      4569  4251  0 18:24 ?        00:00:00 sshd: root@pts/0
root      4763  4569  0 18:24 pts/0    00:00:00 -bash
postfix   4931  4515  0 20:04 ?        00:00:00 pickup -l -t unix -u
root      4938     2  0 20:31 ?        00:00:00 [kworker/0:3]
root      4944     2  0 20:46 ?        00:00:00 [kworker/0:2]
root      4947     2  0 20:51 ?        00:00:00 [kworker/0:0]
root      4949  4763  0 20:53 pts/0    00:00:00 ps -ef
$

每列的信息說明:

  • UID:?jiǎn)?dòng)這些進(jìn)程的用戶
  • PID:進(jìn)程的進(jìn)程ID
  • PPID:父進(jìn)程的進(jìn)程號(hào)(如果該進(jìn)程是由另一個(gè)進(jìn)程啟動(dòng)的)
  • C:進(jìn)程生命周期中的CPU利用率
  • STIME:進(jìn)程啟動(dòng)時(shí)的系統(tǒng)時(shí)間
  • TTY:進(jìn)程啟動(dòng)時(shí)的終端設(shè)備
  • TIME:運(yùn)行進(jìn)程需要的累積CPU時(shí)間
  • CMD:?jiǎn)?dòng)的程序名稱

ps -el
ps -ef 最常用,而-l參數(shù)可以顯示其他額外的信息,也可以ps -efl把兩部分的信息都顯示出來。
使用-l參數(shù),會(huì)產(chǎn)生一個(gè)長(zhǎng)格式輸出:

$ ps -el
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0     1     0  0  80   0 - 32005 ep_pol ?        00:00:01 systemd
1 S     0     2     0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd
1 S     0     3     2  0  80   0 -     0 smpboo ?        00:00:00 ksoftirqd/0
1 S     0     5     2  0  60 -20 -     0 worker ?        00:00:00 kworker/0:0H
1 S     0     6     2  0  80   0 -     0 worker ?        00:00:00 kworker/u2:0
1 S     0     7     2  0 -40   - -     0 smpboo ?        00:00:00 migration/0
1 S     0     8     2  0  80   0 -     0 rcu_gp ?        00:00:00 rcu_bh
1 R     0     9     2  0  80   0 -     0 -      ?        00:00:00 rcu_sched
1 S     0    10     2  0  60 -20 -     0 rescue ?        00:00:00 lru-add-drain

......

4 S     0  4250     1  0  80   0 - 10025 poll_s ?        00:00:00 hypervkvpd
4 S     0  4251     1  0  80   0 - 28215 poll_s ?        00:00:00 sshd
4 S     0  4253     1  0  80   0 - 143481 poll_s ?       00:00:02 tuned
4 S     0  4254     1  0  80   0 - 55687 poll_s ?        00:00:00 rsyslogd
5 S     0  4515     1  0  80   0 - 22412 ep_pol ?        00:00:00 master
4 S    89  4532  4515  0  80   0 - 22455 ep_pol ?        00:00:00 qmgr
4 S     0  4569  4251  0  80   0 - 39183 poll_s ?        00:00:00 sshd
4 S     0  4763  4569  0  80   0 - 28859 do_wai pts/0    00:00:00 bash
4 S    89  4931  4515  0  80   0 - 22438 ep_pol ?        00:00:00 pickup
1 S     0  4972     2  0  80   0 -     0 worker ?        00:00:00 kworker/0:0
1 S     0  4973     2  0  80   0 -     0 worker ?        00:00:00 kworker/0:3
1 S     0  4974     2  0  80   0 -     0 worker ?        00:00:00 kworker/0:1
1 R     0  4977     2  0  80   0 -     0 -      ?        00:00:00 kworker/0:2
0 R     0  4979  4763  0  80   0 - 38309 -      pts/0    00:00:00 ps
$ ^

每列的信息說明:

  • F:內(nèi)核分配給進(jìn)程的系統(tǒng)標(biāo)記
  • S:進(jìn)程的狀態(tài)
    • O代表正在運(yùn)行
    • S代表正在休眠
    • R代表可運(yùn)行,正等待運(yùn)行
    • Z代表僵化,進(jìn)程已結(jié)束但父進(jìn)程已不存在
    • T代表停止
  • PRI:進(jìn)程的優(yōu)先級(jí)(越大表示優(yōu)先級(jí)越低)
  • NI:謙讓度值用來參與決定優(yōu)先級(jí)
  • ADDR:進(jìn)程的內(nèi)存地址
  • SZ:假如進(jìn)程被換出,所需交換空間的大致大小
  • WCHAN:進(jìn)程休眠的內(nèi)核函數(shù)的地址

BSD風(fēng)格的參數(shù)

伯克利軟件發(fā)行版(Berkeley software distribution, BSD)是加州大學(xué)伯克利分校開發(fā)的一個(gè)Unix版本。
BSD風(fēng)格的ps命令參數(shù):

參數(shù) 描述
T顯示跟當(dāng)前終端關(guān)聯(lián)的所有進(jìn)程
a顯示跟任意終端關(guān)聯(lián)的所有進(jìn)程
g顯示所有的進(jìn)程,包括控制進(jìn)程
r僅顯示運(yùn)行中的進(jìn)程
x顯示所有的進(jìn)程,甚至包括未分配任何終端的進(jìn)程
U userlist顯示歸userlist列表中某用戶ID所擁有的進(jìn)程
p pidlist顯示PID在pidlist列表中的進(jìn)程
t ttylist顯示所關(guān)聯(lián)的終端在ttylist列表中的進(jìn)程
O format除了默認(rèn)輸出的列之外,還輸出由format指定的列
X按過去的Linux i386寄存器格式顯示
Z將安全信息添加到輸出中。效果和-Z參數(shù)差不多
j顯示任務(wù)信息
l采用長(zhǎng)模式
o format僅顯示由format指定的列
s采用信號(hào)格式顯示
u采用基于用戶的格式顯示
v采用虛擬內(nèi)存格式顯示
N namelist定義在WCHAN列中使用的值
O order定義顯示信息列的順序
S將數(shù)值信息從子進(jìn)程加到父進(jìn)程上,比如CPU和內(nèi)存的使用情況
c顯示真實(shí)的命令名稱(用以啟動(dòng)進(jìn)程的程序名稱)
e顯示命令使用的環(huán)境變量
f用分層格式來顯示進(jìn)程、表明哪些進(jìn)程啟動(dòng)了哪些進(jìn)程
h不顯示頭信息
k sort指定用以將輸出排序的列
n和WCHAN信息一起顯示出來,用數(shù)值來表示用戶ID和組ID
w為較寬屏幕顯示寬輸出
H將線程按進(jìn)程來顯示
m在進(jìn)程后顯示線程
L列出所有格式指定符
V顯示ps命令的版本號(hào)

Unix和BSD類型的參數(shù)有很多是重復(fù)的,大多數(shù)情況下,選擇自己重用的格式的參數(shù)即可。
ps aux
這個(gè)是BSD風(fēng)格的顯示所有進(jìn)程的命令,效果類似于ps -ef,主要是展示風(fēng)格不同,輸出的列也有一些區(qū)別。
在使用BSD參數(shù)時(shí),ps命令會(huì)自動(dòng)改變輸出以模仿BSD格式:

$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3 128000  6540 ?        Ss   09:19   0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2  0.0  0.0      0     0 ?        S    09:19   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    09:19   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   09:19   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    09:19   0:00 [kworker/u2:0]
root         7  0.0  0.0      0     0 ?        S    09:19   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S    09:19   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        R    09:19   0:00 [rcu_sched]
root        10  0.0  0.0      0     0 ?        S<   09:19   0:00 [lru-add-drain]

......

root      4256  0.0  0.0  40100  1540 ?        Ss   09:19   0:00 /usr/sbin/hypervkvpd -n
root      4258  0.0  0.2 112860  4296 ?        Ss   09:19   0:00 /usr/sbin/sshd -D
root      4259  0.0  0.4 222748  7800 ?        Ssl  09:19   0:00 /usr/sbin/rsyslogd -n
root      4261  0.0  0.9 573924 17144 ?        Ssl  09:19   0:00 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root      4503  0.0  0.1  89648  2100 ?        Ss   09:19   0:00 /usr/libexec/postfix/master -w
postfix   4516  0.0  0.2  89752  4068 ?        S    09:19   0:00 pickup -l -t unix -u
postfix   4517  0.0  0.2  89820  4096 ?        S    09:19   0:00 qmgr -l -t unix -u
root      4770  0.0  0.3 156732  5524 ?        Ss   09:28   0:00 sshd: root@pts/0
root      4774  0.0  0.1 115436  2068 pts/0    Ss   09:28   0:00 -bash
root      4829  0.0  0.0      0     0 ?        S    09:35   0:00 [kworker/0:3]
root      4887  0.0  0.0      0     0 ?        S    09:40   0:00 [kworker/0:1]
root      4901  0.0  0.0      0     0 ?        R    09:45   0:00 [kworker/0:0]
root      4903  0.0  0.1 155360  1884 pts/0    R+   09:48   0:00 ps aux
$

每列的信息說明:

  • VSZ:進(jìn)程在內(nèi)存中的大小,以千字節(jié)(KB)為單位
  • RSS:進(jìn)程在未喚出時(shí)占用的物理內(nèi)存
  • STAT:代表當(dāng)前進(jìn)程狀態(tài)的雙字符狀態(tài)碼。

BSD風(fēng)格表示的進(jìn)程狀態(tài)碼更詳細(xì)。雙字符碼能比Unix風(fēng)格輸出的單字符狀態(tài)碼更清楚地表示進(jìn)程的當(dāng)前狀態(tài)。
第一個(gè)字符采用了Unix分格S列相同的值,表明休眠(S)、運(yùn)行(O)還是等待(R)。
第二個(gè)值進(jìn)一步說明進(jìn)程的狀態(tài):

  • <:該進(jìn)程運(yùn)行在高優(yōu)先級(jí)上
  • N:該進(jìn)程運(yùn)行在低優(yōu)先級(jí)上
  • L:該進(jìn)程有頁(yè)面鎖定在內(nèi)存中
  • s:該進(jìn)程是控制進(jìn)程
  • l:該進(jìn)程是多線程的
  • +:該進(jìn)程運(yùn)行在前臺(tái)

GNU長(zhǎng)參數(shù)

最后,GNU開發(fā)人員在最近改進(jìn)過的ps命令中加入了另外一些參數(shù)。其中一些復(fù)制了現(xiàn)有的Unix或BSD類型的參數(shù),而另一些則提供了新功能。
GNU風(fēng)格的ps命令參數(shù):

參數(shù) 描述
--deselect顯示所有進(jìn)程,除了命令行中列出的進(jìn)程
--Group grplist顯示組ID在grplist列表中的進(jìn)程
--User userlist顯示用戶ID在userlist列表中的進(jìn)程
--group grplist顯示有效組ID在grplist列表中的進(jìn)程
--pid pidlist顯示PID在pidlist列表中的進(jìn)程
--ppid pidlist顯示父PID在pidlist列表中的進(jìn)程
--sid sidlist顯示會(huì)話ID在sidlist列表中的進(jìn)程
--tty ttylist顯示終端設(shè)備號(hào)在ttylist列表中的進(jìn)程
--user userlist顯示有效用戶ID在userlist列表中的進(jìn)程
--format format僅顯示由format指定的列
--context顯示額外的安全信息
--cols n將屏幕寬度設(shè)置為n列
--columns n將屏幕寬度設(shè)置為n列
--cumulative包含已停止的子進(jìn)程的信息
--forest用層級(jí)結(jié)構(gòu)顯示出進(jìn)程和父進(jìn)程之間的關(guān)系
--headers在每頁(yè)輸出是顯示列的頭
--no-headers不顯示列的頭
--lines n將屏幕高度設(shè)為n行
--rows n將屏幕高度設(shè)為n排
--sort order指定將輸出按哪列排序
--width n將屏幕寬度設(shè)為n列
--help顯示幫助信息
--info顯示調(diào)試信息
--version顯示ps命令的版本號(hào)

部分GNU長(zhǎng)參數(shù)可以和Unix或BSD風(fēng)格的參數(shù)混用來定制輸出。

--forest參數(shù) 顯示進(jìn)程的層級(jí)信息
這么多參數(shù)中,--forest是一個(gè)很好的功能。它會(huì)顯示進(jìn)程的層級(jí)信息,并用ASCII字符繪出好看的效果:

$ ps -ef --forest
UID        PID  PPID  C STIME TTY          TIME CMD
root         2     0  0 09:19 ?        00:00:00 [kthreadd]
root         3     2  0 09:19 ?        00:00:00  \_ [ksoftirqd/0]

......

root      4256     1  0 09:19 ?        00:00:00 /usr/sbin/hypervkvpd -n
root      4258     1  0 09:19 ?        00:00:00 /usr/sbin/sshd -D
root      4770  4258  0 09:28 ?        00:00:00  \_ sshd: root@pts/0
root      4774  4770  0 09:28 pts/0    00:00:00      \_ -bash
root      5001  4774  0 11:12 pts/0    00:00:00          \_ ps -ef --forest
root      4259     1  0 09:19 ?        00:00:00 /usr/sbin/rsyslogd -n
root      4261     1  0 09:19 ?        00:00:01 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root      4503     1  0 09:19 ?        00:00:00 /usr/libexec/postfix/master -w
postfix   4517  4503  0 09:19 ?        00:00:00  \_ qmgr -l -t unix -u
postfix   4958  4503  0 11:00 ?        00:00:00  \_ pickup -l -t unix -u
$

Unix風(fēng)格的-H參數(shù)也有同樣的功能,但是效果沒有這個(gè)好:

$ ps -efH
UID        PID  PPID  C STIME TTY          TIME CMD
root         2     0  0 09:19 ?        00:00:00 [kthreadd]
root         3     2  0 09:19 ?        00:00:00   [ksoftirqd/0]

......

root      4256     1  0 09:19 ?        00:00:00   /usr/sbin/hypervkvpd -n
root      4258     1  0 09:19 ?        00:00:00   /usr/sbin/sshd -D
root      4770  4258  0 09:28 ?        00:00:00     sshd: root@pts/0
root      4774  4770  0 09:28 pts/0    00:00:00       -bash
root      5002  4774  0 11:13 pts/0    00:00:00         ps -efH
root      4259     1  0 09:19 ?        00:00:00   /usr/sbin/rsyslogd -n
root      4261     1  0 09:19 ?        00:00:01   /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root      4503     1  0 09:19 ?        00:00:00   /usr/libexec/postfix/master -w
postfix   4517  4503  0 09:19 ?        00:00:00     qmgr -l -t unix -u
postfix   4958  4503  0 11:00 ?        00:00:00     pickup -l -t unix -u
$

BSD風(fēng)格的f參數(shù)也是這個(gè)功能,效果和--forest一樣。

top 命令實(shí)時(shí)監(jiān)測(cè)進(jìn)程

top命令和ps命令相似,都能夠顯示進(jìn)程信息,并且是實(shí)時(shí)的:

$ top
top - 12:01:28 up  2:41,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  97 total,   2 running,  95 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1816668 total,   335380 free,  1325796 used,   155492 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   321636 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                
 5028 root      20   0  161880   2216   1572 R  0.3  0.1   0:00.06 top                                                                                    
    1 root      20   0  128000   6544   4136 S  0.0  0.4   0:01.12 systemd                                                                                
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                                                                               
    3 root      20   0       0      0      0 S  0.0  0.0   0:00.03 ksoftirqd/0                                                                            
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                                                           
    6 root      20   0       0      0      0 S  0.0  0.0   0:00.03 kworker/u2:0                                                                           
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                                                                            
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                                                                 
    9 root      20   0       0      0      0 S  0.0  0.0   0:00.35 rcu_sched                                                                              
   10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain                                                                          
   11 root      rt   0       0      0      0 S  0.0  0.0   0:00.11 watchdog/0                                                                             
   13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                                                                              
   14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns                                                                                  
   15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 khungtaskd                                                                             
   16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback                                                                              
   17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd                                                                            
   18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                 
   19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                 
   20 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                 
   21 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd                                                                                
   22 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 md                                                                                     
   23 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 edac-poller                                                                            
   24 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 watchdogd                                                                              
   30 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswapd0                                                                                
   31 root      25   5       0      0      0 S  0.0  0.0   0:00.00 ksmd                                                                                   
   32 root      39  19       0      0      0 S  0.0  0.0   0:00.06 khugepaged                                                                             
   33 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto                                                                                 
   41 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kthrotld

輸出的第一部分顯示的是系統(tǒng)的概況:

  • 第一行顯示了當(dāng)前時(shí)間、系統(tǒng)的運(yùn)行時(shí)間、登錄的用戶數(shù)以及系統(tǒng)的平均負(fù)載。
    • 平均負(fù)載有3個(gè)值:最近1分鐘的、最近5分鐘的、最近15分鐘的平均負(fù)載
  • 第二行顯示了進(jìn)程概要信息。這里將進(jìn)程叫做任務(wù)(task),各種狀態(tài)進(jìn)程的數(shù)量:
    • total:總數(shù)
    • running:運(yùn)行
    • sleeping:休眠
    • stopped:停止
    • zombie:僵化(僵化狀態(tài)是指進(jìn)程完成了,但父進(jìn)程沒有響應(yīng))
  • 第三行顯示了CPU的概要信息,將CPU利用率分成幾類輸出:
    • us【user space】— 用戶空間占用CPU的百分比。
    • sy【sysctl】— 內(nèi)核空間占用CPU的百分比。
    • ni【】— 改變過優(yōu)先級(jí)的進(jìn)程占用CPU的百分比
    • id【idolt】— 空閑CPU百分比
    • wa【wait】— IO等待占用CPU的百分比
    • hi【Hardware IRQ】— 硬中斷占用CPU的百分比
    • si【Software Interrupts】— 軟中斷占用CPU的百分比
  • 第四行是系統(tǒng)的物理內(nèi)存狀態(tài):
    • total — 物理內(nèi)存總量
    • free — 空閑內(nèi)存總量
    • used — 使用中的內(nèi)存總量
    • buff/cache — 用作內(nèi)核緩存的內(nèi)存量
  • 第五行是系統(tǒng)的交換空間狀態(tài):
    • total — 交換區(qū)總量
    • free — 空閑交換區(qū)總量
    • used — 使用的交換區(qū)總量
    • avail Mem — 緩沖的交換區(qū)總量。內(nèi)存中的內(nèi)容被換出到交換區(qū),而后又被換入到內(nèi)存,但使用過的交換區(qū)尚未被覆蓋,該數(shù)值即為這些內(nèi)容已存在于內(nèi)存中的交換區(qū)的大小,相應(yīng)的內(nèi)存再次被換出時(shí)可不必再對(duì)交換區(qū)寫入。
  • 最后一部分顯示了當(dāng)前運(yùn)行中的進(jìn)程的詳細(xì)列表,有些列和ps命令的輸出類似:
    • PID:進(jìn)程的ID
    • USER:進(jìn)程屬主的名字
    • PR:進(jìn)程的優(yōu)先級(jí)
    • NI:進(jìn)程的謙讓度值(nice值)
    • VIRT:進(jìn)程占用的虛擬內(nèi)存總量
    • RES:進(jìn)程占用的物理內(nèi)存總量
    • SHR:進(jìn)程和其他進(jìn)程共享的內(nèi)存總量
    • S:進(jìn)程的狀態(tài)(D可中斷的休眠狀態(tài),R運(yùn)行,S休眠,T跟蹤狀態(tài)或停止?fàn)顟B(tài),Z僵化)
    • %CPU:進(jìn)程使用的CPU時(shí)間比例
    • %MEM:進(jìn)程使用的內(nèi)存占可用內(nèi)存的比例
    • TIME+:自進(jìn)程啟動(dòng)到目前為止的CPU時(shí)間總量
    • COMMAND:進(jìn)程所對(duì)應(yīng)的命令行名稱,也就是啟動(dòng)的程序名

默認(rèn)情況下,top啟動(dòng)后按%CPU排序,可按f指定其他列。輪詢時(shí)間默認(rèn)是3.0秒,可按d修改。按q是退出。其他就不列舉了。

結(jié)束進(jìn)程

在Linux中,進(jìn)程之間通過信號(hào)來通信。大多數(shù)編寫完善的程序都能接收和處理標(biāo)準(zhǔn)Unix進(jìn)程信號(hào)。
Linux進(jìn)程信號(hào):

信號(hào) 名稱 描述
1HUP掛起
2INT中斷
3QUIT結(jié)束運(yùn)行
9KILL無條件終止
11SEGV段錯(cuò)誤
15TERM盡可能終止
17STOP無條件停止運(yùn)行,但不終止
18TSTP停止或暫停,但繼續(xù)在后臺(tái)運(yùn)行
19CONT在STOP或TSTP之后恢復(fù)執(zhí)行

kill命令
kill命令可通過進(jìn)程ID(PID)給進(jìn)程發(fā)信號(hào)。默認(rèn)發(fā)送TERM信號(hào)。因?yàn)橹荒苁褂肞ID來指定,而不能用命令名,所以有時(shí)候不是很好用。
要發(fā)送信號(hào),你還必須是該進(jìn)程的屬主或者是root。
kill命令不會(huì)有任何輸出,要檢查kill命令是由有效,可以再運(yùn)行ps或top命令。

killall命令
killall命令支持通過進(jìn)程名而不是PID來結(jié)束進(jìn)程。killall命令也支持通配符。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站名稱:Linux基礎(chǔ):目錄名稱含義,監(jiān)測(cè)程序-創(chuàng)新互聯(lián)
本文路徑:http://muchs.cn/article20/deocco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、定制開發(fā)、外貿(mào)網(wǎng)站建設(shè)動(dòng)態(tài)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司