Linux進(jìn)程及作業(yè)管理

Linux進(jìn)程

進(jìn)程(Process): 運(yùn)行中的程序的一個(gè)副本
進(jìn)程存在生命周期,程序是一個(gè)靜態(tài)的文件

Linux內(nèi)核存儲(chǔ)進(jìn)程信息的固定格式:task struct
多個(gè)任務(wù)的的task struct組件的鏈表:task list

Linux進(jìn)程管理的作用

① 判斷服務(wù)器的健康狀態(tài):CPU使用情況您朽、內(nèi)存使用(物理內(nèi)存、空閑內(nèi)存)
② 查看系統(tǒng)中的所有進(jìn)程:進(jìn)程的資源占用情況(CPU钥组、Memory)盏阶;合法or非法進(jìn)程
③ 終止進(jìn)程:常規(guī)方式無法關(guān)閉程序時(shí)摘投,再使用終止進(jìn)程扣典;對(duì)于非法進(jìn)程负甸,將其對(duì)應(yīng)程序完全清理流强,達(dá)到重啟系統(tǒng)不再出現(xiàn)非法進(jìn)程

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

init進(jìn)程:初始化進(jìn)程,負(fù)責(zé)總的用戶進(jìn)程空間管理呻待,不能代替內(nèi)核完成系統(tǒng)調(diào)用等一切特權(quán)指令的執(zhí)行
進(jìn)程:都由其父進(jìn)程創(chuàng)建打月,存在父子關(guān)系
fork(), clone()

進(jìn)程優(yōu)先級(jí):0-139

1-99:實(shí)時(shí)優(yōu)先級(jí);
100-139:靜態(tài)優(yōu)先級(jí)带污;
數(shù)字越小僵控,優(yōu)先級(jí)越高;

Nice值:
(-20,19)對(duì)應(yīng)(100鱼冀,139)

Big O標(biāo)準(zhǔn):
O(1):常數(shù)报破,結(jié)果是相同的,輸入值不影響時(shí)間(空間)
O(logn):對(duì)數(shù)千绪,經(jīng)典算法:二叉搜索樹(AVL數(shù))查找算法
O(n):線性復(fù)雜度,
O(n^2), O(2^n)...

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

可通過nice值調(diào)整的優(yōu)先級(jí)范圍:100-139
分別對(duì)應(yīng)于:-20, 19
進(jìn)程啟動(dòng)時(shí)充易,其nice值默認(rèn)為0,其優(yōu)先級(jí)是120荸型;

nice命令:

以指定的nice值啟動(dòng)并運(yùn)行命令
nice [OPTION] [COMMAND [ARGU]...]
選項(xiàng):
-n NICE
注意:僅管理員可調(diào)低nice值

renice命令:

調(diào)整nice值
renice [-n] NICE PID...

查看Nice值和優(yōu)先級(jí):
ps axo pid, ni, priority, comm

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

Page Frame: 頁框盹靴,用存儲(chǔ)頁面數(shù)據(jù)
MMU:Memory Management Unit

IPC: Inter Process Communication (進(jìn)程間通信)
同一主機(jī)上:
signal
shm: shared memory
semerphor

不同主機(jī)上:
rpc: remote procecure call (遠(yuǎn)程過程調(diào)用)
socket:套接字

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

進(jìn)程類型

  • 守護(hù)進(jìn)程(daemon): 在系統(tǒng)引導(dǎo)過程中啟動(dòng)的進(jìn)程,跟終端無關(guān)的進(jìn)程
  • 前臺(tái)進(jìn)程:跟終端相關(guān)瑞妇,通過終端啟動(dòng)的進(jìn)程

注意:也可把在前臺(tái)啟動(dòng)的進(jìn)程送往后臺(tái)稿静,以守護(hù)模式運(yùn)行;

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

運(yùn)行態(tài):running
就緒態(tài):ready
睡眠態(tài):

  • 可中斷:interruptable
  • 不可中斷:uninterruptable

停止態(tài):暫停于內(nèi)存中辕狰,但不會(huì)被調(diào)度改备,除非手動(dòng)啟動(dòng)之;stopped
僵死態(tài):zombie

僵尸進(jìn)程的產(chǎn)生蔓倍、危害及避免方法

產(chǎn)生原因:
在子進(jìn)程終止后到父進(jìn)程調(diào)用wait()前的時(shí)間里悬钳,子進(jìn)程被稱為zombie;

  • 子進(jìn)程結(jié)束后向父進(jìn)程發(fā)出SIGCHLD信號(hào)偶翅,父進(jìn)程默認(rèn)忽略了它
  • 父進(jìn)程沒有調(diào)用wait()或waitpid()函數(shù)來等待子進(jìn)程的結(jié)束
  • 網(wǎng)絡(luò)原因有時(shí)會(huì)引起僵尸進(jìn)程默勾;

危害:

  • 僵尸進(jìn)程會(huì)占用系統(tǒng)資源,如果很多聚谁,則會(huì)嚴(yán)重影響服務(wù)器的性能母剥;
  • 孤兒進(jìn)程不會(huì)占用系統(tǒng)資源,最終是由init進(jìn)程托管,由init進(jìn)程來釋放媳搪;

如何防止僵尸進(jìn)程:

  • 讓僵尸進(jìn)程成為孤兒進(jìn)程铭段,由init進(jìn)程回收;(手動(dòng)殺死父進(jìn)程)
  • 調(diào)用fork()兩次秦爆;
  • 捕捉SIGCHLD信號(hào)序愚,并在信號(hào)處理函數(shù)中調(diào)用wait函數(shù);

進(jìn)程的分類:

  • CPU-Bound
  • IO-Bound

Linux系統(tǒng)上的進(jìn)程查看工具

CentOS 5: SysV init
CentOS 6:upstart
CentOS 7:systemd

pstree命令:

pstree - display a tree of processes

[root@CentOS7 ~]# pstree
systemd─┬─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─VGAuthService
        ├─atd
        ├─auditd───{auditd}
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─firewalld───{firewalld}
        ├─irqbalance
        ├─login───bash
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───6*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd───sshd───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─vmtoolsd───{vmtoolsd}
[root@CentOS6 ~]# pstree
init─┬─NetworkManager─┬─dhclient
     │                └─{NetworkManager}
     ├─abrtd
     ├─acpid
     ├─atd
     ├─auditd───{auditd}
     ├─automount───4*[{automount}]
     ├─bluetoothd
     ├─bonobo-activati───{bonobo-activat}
     ├─certmonger
     ├─clock-applet───{clock-applet}
     ├─console-kit-dae───63*[{console-kit-da}]
     ├─crond
     ├─cupsd
     ├─2*[dbus-daemon───{dbus-daemon}]
     ├─2*[dbus-launch]
     ├─devkit-power-da
     ├─gconf-im-settin
     ├─gconfd-2
     ├─gdm-binary─┬─gdm-simple-slav─┬─Xorg
ps命令:

/proc/:內(nèi)核中的狀態(tài)信息
內(nèi)核參數(shù):

  • 可設(shè)置其值從而調(diào)整內(nèi)核運(yùn)行特性的參數(shù)等限;/proc/sys/
  • 狀態(tài)變量:其用于輸出內(nèi)核中統(tǒng)計(jì)信息或狀態(tài)信息爸吮,僅用于查看;

參數(shù):模擬成文件系統(tǒng)類型望门;

進(jìn)程:

/proc/#:proc進(jìn)程參數(shù)
#:PID(進(jìn)程號(hào))

啟動(dòng)進(jìn)程的方式:

系統(tǒng)啟動(dòng)過程中自動(dòng)啟動(dòng):與終端無關(guān)的進(jìn)程
用戶通過終端啟動(dòng):與終端相關(guān)的進(jìn)程

格式:ps [options]

options有三種風(fēng)格:

1 UNIX options, which may be grouped and must be preceded by a dash.
2 BSD options, which may be grouped and must not be used with a dash.
3 GNU long options, which are preceded by two dashes.

Options:
a:所有與終端相關(guān)的進(jìn)程

[root@promote 1]# ps a
   PID TTY      STAT   TIME COMMAND
  7514 tty1     Ss+    0:00 -bash
  7540 pts/0    Ss     0:00 -bash
  7831 pts/0    R+     0:00 ps a

x:所有與終端無關(guān)的進(jìn)程
u:以用戶為中心組織進(jìn)程狀態(tài)信息顯示
常用組合之一:ps aux

[root@promote 1]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.2  0.3 128240  6872 ?        Ss   11:55   0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    11:55   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    11:55   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   11:55   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    11:55   0:00 [kworker/u256:0]
root          7  0.0  0.0      0     0 ?        S    11:55   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    11:55   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        S    11:55   0:01 [rcu_sched]
root         10  0.0  0.0      0     0 ?        S<   11:55   0:00 [lru-add-drain]
root         11  0.0  0.0      0     0 ?        S    11:55   0:00 [watchdog/0]

VSZ:虛擬內(nèi)存集
RSS:Resident Size形娇,常駐內(nèi)存集
STAT:狀態(tài)

  • R:running
  • S:interruptable sleeping
  • D:uninterruptable sleeping
  • T:Stopped
  • Z:zombie
  • +:前臺(tái)進(jìn)程
  • l:多線程進(jìn)程
  • N:低優(yōu)先級(jí)進(jìn)程
  • <:高優(yōu)先級(jí)進(jìn)程
  • s:session leader

-e:顯示所有進(jìn)程

[root@promote ~]# ps -e
   PID TTY          TIME CMD
     1 ?        00:00:03 systemd
     2 ?        00:00:00 kthreadd
     3 ?        00:00:00 ksoftirqd/0

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

[root@promote ~]# ps -f
UID         PID   PPID  C STIME TTY          TIME CMD
root       7905   7901  0 15:46 pts/1    00:00:00 -bash
root       7923   7905  0 15:54 pts/1    00:00:00 ps -f

常用組合之二:-ef

[root@promote ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 14:38 ?        00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2      0  0 14:38 ?        00:00:00 [kthreadd]
root          3      2  0 14:38 ?        00:00:00 [ksoftirqd/0]

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

[root@promote ~]# ps -F
UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root       7905   7901  0 28860  2060   4 15:46 pts/1    00:00:00 -bash
root       7925   7905  0 38840  1864   6 15:55 pts/1    00:00:00 ps -F

C: cpu utilization
PSR:運(yùn)行于哪顆CPU之上

-H:以層級(jí)結(jié)構(gòu)顯示進(jìn)程的相關(guān)信息

[root@promote ~]# ps -H
   PID TTY          TIME CMD
  7905 pts/1    00:00:00 bash
  7927 pts/1    00:00:00   ps

常用組合之三:-eFH

[root@promote ~]# ps -eFH
UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root          2      0  0     0     0   0 14:38 ?        00:00:00 [kthreadd]
root          3      2  0     0     0   0 14:38 ?        00:00:00   [ksoftirqd/0]
root          5      2  0     0     0   0 14:38 ?        00:00:00   [kworker/0:0H]
root          6      2  0     0     0   1 14:38 ?        00:00:00   [kworker/u256:0]

常用組合之四:-eo, axo
o field1, field2,...:自定義要顯示的字段列表,以逗號(hào)分隔筹误;
常用的field:pid, ni, pri, psr, pcpu, stat, comm, tty, ppid, rtprio

ni:nice值桐早;
priority:priority, 優(yōu)先級(jí);
rtprio:real time priority厨剪,實(shí)時(shí)優(yōu)先級(jí)哄酝;

[root@promote ~]# ps axo pid,ni,pri,pcpu,stat,comm,tty,ppid,rtprio
   PID  NI PRI %CPU STAT COMMAND         TT         PPID RTPRIO
     1   0  19  0.0 Ss   systemd         ?             0      -
     2   0  19  0.0 S    kthreadd        ?             0      -
     3   0  19  0.0 S    ksoftirqd/0     ?             2      -
     5 -20  39  0.0 S<   kworker/0:0H    ?             2      -
     6   0  19  0.0 S    kworker/u256:0  ?             2      -
     7   - 139  0.0 S    migration/0     ?             2     99
pgrep, pkill命令:

look up or signal processes based on name and other attributes

pgrep [options] pattern
pkill [options] pattern
-u uid:effective user
-U uid:read user

[root@promote ~]# pgrep -U postfix
7221
7899

-t TERMINAL:與指定的終端相關(guān)的進(jìn)程
-l:顯示進(jìn)程名

[root@promote ~]# pgrep -U postfix -l
7221 qmgr
7899 pickup

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

[root@promote ~]# pgrep -U postfix -a
7221 qmgr -l -t unix -u
7899 pickup -l -t unix -u

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

[root@promote ~]# pgrep -P 7004
7536
7901
[root@promote ~]# pgrep ssh
7004
7536
7901
pidof命令:

根據(jù)進(jìn)程名,取其pid

[root@promote ~]# pidof sshd
7901 7536 7004
top命令:
[root@promote ~]# top
top - 16:16:50 up  1:38,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 167 total,   1 running, 166 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863252 total,  1398828 free,   161300 used,   303124 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1497152 avail Mem 
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                        
  6439 root      20   0  300720   6336   4976 S   0.7  0.3   0:12.26 vmtoolsd                                                       
    60 root      20   0       0      0      0 S   0.3  0.0   0:05.76 kworker/0:1                                                    
   129 root      20   0       0      0      0 S   0.3  0.0   0:01.61 kworker/1:2  

top 命令輸出中的第一行是系統(tǒng)的平均負(fù)載祷膳,這和 uptime 命令的輸出是一樣的
16:16:50 表示系統(tǒng)當(dāng)前時(shí)間
up 1:38 表示系統(tǒng)最后一次啟動(dòng)后總的運(yùn)行時(shí)間
3 user 表示當(dāng)前系統(tǒng)中有3個(gè)登錄用戶
load average: 0.00, 0.01, 0.05 表示系統(tǒng)的平均負(fù)載陶衅,最后的三個(gè)數(shù)字分別表示最后一分鐘的系統(tǒng)平均負(fù)載,最后五分鐘的系統(tǒng)平均負(fù)載直晨,最后十五分鐘的系統(tǒng)平均負(fù)載

Tasks:167 total 表示當(dāng)前系統(tǒng)的進(jìn)程總數(shù)
1 running 表示當(dāng)前系統(tǒng)中有 1 個(gè)正在運(yùn)行的進(jìn)程
166 sleeping 表示當(dāng)前系統(tǒng)中有 166 個(gè)休眠的進(jìn)程
0 stopped 表示停止?fàn)顟B(tài)的進(jìn)程數(shù)為 0
0 zombie 表示處于僵死狀態(tài)的進(jìn)程數(shù)為 0

us:進(jìn)程在用戶地址空間中消耗 CPU 時(shí)間的百分比
sy:進(jìn)程在內(nèi)核地址空間中消耗 CPU 時(shí)間的百分比
ni:ni 是 nice 的縮寫搀军,可以通過 nice 值調(diào)整進(jìn)程用戶態(tài)的優(yōu)先級(jí)
id:CPU 處于 idle 狀態(tài)的百分比。一般情況下勇皇, us + ni + id 應(yīng)該接近 100%
wa:CPU 等待磁盤 IO 操作的時(shí)間
hi & si:這兩個(gè)值表示系統(tǒng)處理中斷消耗的時(shí)間罩句。中斷分為硬中斷和軟中斷,hi 表示處理硬中斷消耗的時(shí)間敛摘,si 表示處理軟中斷消耗的時(shí)間
st:只有 Linux 在作為虛擬機(jī)運(yùn)行時(shí) st 才是有意義的的止。它表示虛機(jī)等待 CPU 資源的時(shí)間(虛機(jī)分到的是虛擬 CPU,當(dāng)需要真實(shí)的 CPU 時(shí)着撩,可能真實(shí)的 CPU 正在運(yùn)行其它虛機(jī)的任務(wù),所以需要等待)

排序:

P:以占據(jù)CPU百分比排序匾委;
M:以占據(jù)內(nèi)存百分比排序拖叙;
T:累積占用CPU時(shí)間排序;

首部信息:

uptime信息:l命令
tasks及cpu信息:t命令
內(nèi)存信息:m命令
退出命令:q
修改刷新時(shí)間間隔:s
終止指定的進(jìn)程:k

選項(xiàng):

-d #:指定刷新時(shí)間間隔赂乐,默認(rèn)為3秒薯鳍;
-b:以批次方式顯示;
-n #:顯示多少批次;

uptime命令:顯示系統(tǒng)時(shí)間挖滤、運(yùn)行時(shí)長(zhǎng)及平均負(fù)載崩溪;

過去1分鐘、5分鐘和15分鐘的平均負(fù)載斩松;
等待運(yùn)行的進(jìn)程隊(duì)列的長(zhǎng)度伶唯;

[root@promote ~]# uptime
 16:16:57 up  1:38,  3 users,  load average: 0.00, 0.01, 0.05

linux進(jìn)程管理類命令:

以下常用命令一般系統(tǒng)都沒有自帶,需要提前配置epel源惧盹,再通過yum install安裝命令
yum install epel-release -y

htop命令:

選項(xiàng):

-d #:指定延遲時(shí)間間隔
-u UserName:僅顯示指定用戶的進(jìn)程
-s COLUME:以指定字段進(jìn)行排序

子命令:

l:顯示選定的進(jìn)程打開的文件列表
s:跟蹤選定的進(jìn)程的系統(tǒng)調(diào)用
t:以層級(jí)關(guān)系顯示各進(jìn)程狀態(tài)
a:將選定的進(jìn)程綁定至某指定的CPU核心

vmstat命令:

Report virtual memory statistics

格式:vmstat [options] [delay [count]]

[root@promote ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1318008   2232 384676    0    0     2     1    7    9  0  0 100  0  0

procs:

r:等待運(yùn)行的進(jìn)程的個(gè)數(shù)乳幸;CPU上等待運(yùn)行的任務(wù)的隊(duì)列長(zhǎng)度
b:處于不可中斷睡眠態(tài)的進(jìn)程個(gè)數(shù);被阻塞的任務(wù)隊(duì)列的長(zhǎng)度

memory:

swpd:交換內(nèi)存使用總量
free:空閑的物理內(nèi)存總量
buffer:用于buffer的內(nèi)存總量
cache:用于cache的內(nèi)存總量

swap

si:數(shù)據(jù)進(jìn)入swap中的數(shù)據(jù)速率(kb/s)
so:數(shù)據(jù)離開swap的速率(kb/s)

io

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

system

in:interrupts钧椰,中斷速率
cs:context switch, 上下文 切換的速率

cpu

us: user space
sy:system
id:idle
wa:wait
st: stolen

選項(xiàng):
-s:顯示內(nèi)存統(tǒng)計(jì)數(shù)據(jù)

[root@promote ~]# vmstat -s
      1863252 K total memory
       158648 K used memory
       244444 K active memory
       105680 K inactive memory
      1317696 K free memory
         2232 K buffer memory
       384676 K swap cache
      2097148 K total swap
            0 K used swap
      2097148 K free swap
         3626 non-nice user cpu ticks
           13 nice user cpu ticks
         8834 system cpu ticks
     15175239 idle cpu ticks
         1331 IO-wait cpu ticks
            0 IRQ cpu ticks
          228 softirq cpu ticks
            0 stolen cpu ticks
       258842 pages paged in
       136325 pages paged out
            0 pages swapped in
            0 pages swapped out
      1022214 interrupts
      1274230 CPU context switches
   1556262293 boot time
         8550 forks
pmap命令:

report memory map of a process

格式:pmap [options] pid [...]
-x:顯示詳細(xì)格式的信息

[root@promote ~]# pmap -x 1
1:   /usr/lib/systemd/systemd --system --deserialize 7
Address           Kbytes     RSS   Dirty Mode  Mapping
0000555d074b0000    1412    1132       0 r-x-- systemd
0000555d07810000     140     132     132 r---- systemd
0000555d07833000       4       4       4 rw--- systemd
0000555d09046000    1236    1096    1096 rw---   [ anon ]
00007fd8b3926000     832     832     832 rw---   [ anon ]

另一種查看方式:cat /proc/PID/maps

glances命令:

A cross-platform curses-based system monitoring tool

支持C/S架構(gòu)模式粹断,可以遠(yuǎn)程查看


內(nèi)建命令:

Glances 2.5.1 with PSutil 2.2.1

Configuration file: None

 a  Sort processes automatically          b  Bytes or bits for network I/O      
 c  Sort processes by CPU%                l  Show/hide alert logs               
 m  Sort processes by MEM%                w  Delete warning alerts              
 u  Sort processes by USER                x  Delete warning and critical alerts 
 p  Sort processes by name                1  Global CPU or per-CPU stats        
 i  Sort processes by I/O rate            I  Show/hide IP module                
 t  Sort processes by TIME                D  Enable/disable Docker stats        
 d  Show/hide disk I/O stats              T  View network I/O as combination    
 f  Show/hide filesystem stats            U  View cumulative network I/O        
 n  Show/hide network stats               F  Show filesystem free space         
 s  Show/hide sensors stats               g  Generate graphs for current history
 2  Show/hide left sidebar                r  Reset history                      
 z  Enable/disable processes stats        h  Show/hide this help screen         
 3  Enable/disable quick look plugin      q  Quit (Esc and Ctrl-C also work)    
 e  Enable/disable top extended stats  
 /  Enable/disable short processes name
 0  Enable/disable Irix process CPU    

常用選項(xiàng):

-b:以Byte為單位顯示網(wǎng)上數(shù)據(jù)速率;
-d:關(guān)閉磁盤I/O模塊嫡霞;
-m:關(guān)閉mount模塊瓶埋;
-n:關(guān)閉network模塊;
-t #:刷新時(shí)間間隔诊沪;
-1:每個(gè)cpu的相關(guān)數(shù)據(jù)單獨(dú)顯示养筒;
-o {HTML|CSV}:輸出格式;
-f /PATH/TO/SOMEDIR:設(shè)定輸出文件的位置娄徊;

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

  • 服務(wù)模式:
    glances -s -B IPADDR
    IPADDR:本機(jī)的某地址闽颇,用于監(jiān)聽;
  • 客戶端模式:
    glances -c IPADDR
    IPADDR:是遠(yuǎn)程服務(wù)器的地址寄锐;
dstat命令:

versatile tool for generating system resource statistics
格式:dstat [-afv] [options..] [delay [count]]


常用選項(xiàng):

-c兵多, --cpu:顯示cpu相關(guān)信息
-C #,#,...,total

-d, --disk:顯示磁盤的相關(guān)信息
-D sda,sdb,...,tobal

-g:顯示page相關(guān)的速率數(shù)據(jù)
-m:Memory的相關(guān)統(tǒng)計(jì)數(shù)據(jù)
-n:Interface的相關(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ù)

網(wǎng)絡(luò)相關(guān)的
--tcp
--udp
--raw
--socket

--ipc:進(jìn)程間通信

--top-cpu:顯示最占用CPU的進(jìn)程
--top-io:最占用io的進(jìn)程
--top-mem:最占用內(nèi)存的進(jìn)程
--top-lantency:延遲最大的進(jìn)程

kill命令:

terminate a process(終止一個(gè)進(jìn)程)
用于向進(jìn)程發(fā)送信號(hào),以實(shí)現(xiàn)對(duì)進(jìn)程的管理橄仆;

顯示當(dāng)前系統(tǒng)可用信號(hào):
kill -l [signal]

[root@promote ~]# 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    

每個(gè)信號(hào)的標(biāo)識(shí)方法有三種:

  1. 信號(hào)的數(shù)字標(biāo)識(shí)剩膘;
  2. 信號(hào)的完整名稱;
  3. 信號(hào)的簡(jiǎn)寫名稱盆顾;

向進(jìn)程發(fā)信號(hào):
kill [-s signal|-SIGNAL] pid...
常用信號(hào):

1)SIGHUP:無須關(guān)閉進(jìn)程而讓其重讀配置文件怠褐;
2)SIGINT:終止正在運(yùn)行的進(jìn)程,相當(dāng)于Ctrl+c
9)SIGKILL:殺死運(yùn)行中的進(jìn)程您宪;
15)SIGTERM:終止運(yùn)行中的進(jìn)程奈懒;
18)SIGCONT:繼續(xù)運(yùn)行
19)SIGSTOP:停止

killall命令:

kill processes by name
killall [-SIGNAL] program

[root@promote ~]# killall httpd
[root@promote ~]# ps aux | grep httpd
root       8838  0.0  0.0 112708   976 pts/1    S+   21:21   0:00 grep --color=auto httpd

Linux系統(tǒng)作業(yè)控制:

job:

前臺(tái)作業(yè)(foregroud):通過終端啟動(dòng),且啟動(dòng)后會(huì)一直占據(jù)終端宪巨;
后臺(tái)作業(yè)(backgroud):可以通過終端啟動(dòng)磷杏,但啟動(dòng)后即轉(zhuǎn)入后臺(tái)運(yùn)行(釋放終端);

如何讓作業(yè)運(yùn)行于后臺(tái)捏卓?

(1) 運(yùn)行中的作業(yè)
Ctrl+z
注意:送往后臺(tái)后极祸,作業(yè)會(huì)轉(zhuǎn)為停止態(tài);

[root@promote ~]# htop

[1]+  Stopped                 htop

(2) 尚未啟動(dòng)的作業(yè)
[root@promote ~] # COMMAND &
注意:此類作業(yè)雖然被送往后臺(tái),但其依然與終端相關(guān)遥金;
如果希望把送往后臺(tái)的作業(yè)剝離與終端的關(guān)系:
[root@promote ~] # nohup COMMAND &

查看所有的作業(yè):

[root@promote ~]# jobs
[1]-  Stopped                 htop
[2]+  Stopped                 vim /proc

可實(shí)現(xiàn)作業(yè)控制的常用命令:

[root@promote ~] # fg [[%]JOB_NUM]:把指定的作業(yè)調(diào)回前臺(tái)浴捆;
[root@promote ~] # bg [[%]JOB_NUM]:讓送往后臺(tái)的作業(yè)在后臺(tái)繼續(xù)運(yùn)行;
[root@promote ~] # kill %JOB_NUM:終止指定的作業(yè)稿械;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末选泻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子溜哮,更是在濱河造成了極大的恐慌滔金,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茂嗓,死亡現(xiàn)場(chǎng)離奇詭異餐茵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)述吸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門忿族,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蝌矛,你說我怎么就攤上這事道批。” “怎么了入撒?”我有些...
    開封第一講書人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵隆豹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我茅逮,道長(zhǎng)璃赡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任献雅,我火速辦了婚禮碉考,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挺身。我一直安慰自己侯谁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開白布章钾。 她就那樣靜靜地躺著墙贱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贱傀。 梳的紋絲不亂的頭發(fā)上惨撇,一...
    開封第一講書人閱讀 52,821評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音窍箍,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛椰棘,可吹牛的內(nèi)容都是我干的纺棺。 我是一名探鬼主播,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼邪狞,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼祷蝌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起帆卓,我...
    開封第一講書人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤巨朦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后剑令,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體糊啡,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年吁津,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了棚蓄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡碍脏,死狀恐怖梭依,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情典尾,我是刑警寧澤役拴,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站钾埂,受9級(jí)特大地震影響河闰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勃教,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一淤击、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧故源,春花似錦污抬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至门驾,卻和暖如春射赛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奶是。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來泰國打工楣责, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留竣灌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓秆麸,卻偏偏與公主長(zhǎng)得像初嘹,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沮趣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容