進程管理經常使用命令

pstree - display a tree of processes 樹狀結構顯示進程java

[root@203 ~]# pstree                                           #CentOS 6python

init─┬─abrtdlinux

     ├─acpidios

     ├─atdexpress

     ├─auditd───{auditd}apache

     ├─automount───4*[{automount}]vim

     ├─certmongercentos

     ├─crondbash

     ├─cupsd服務器

     ├─dbus-daemon───{dbus-daemon}

     ├─hald─┬─hald-runner─┬─hald-addon-acpi

                        └─hald-addon-inpu

           └─{hald}

     ├─irqbalance

     ├─mcelog

     ├─6*[mingetty]

     ├─rpc.statd

     ├─rpcbind

     ├─rsyslogd───3*[{rsyslogd}]

     ├─sshd───sshd───bash───pstree

     └─udevd───2*[udevd]

 

[root@lxk ~]# pstree                                             #CentOS 7

systemd─┬─AliYunDun───13*[{AliYunDun}]

        ├─AliYunDunUpdate───3*[{AliYunDunUpdate}]

        ├─agetty

        ├─aliyun-service

        ├─atd

        ├─auditd───{auditd}

        ├─crond

        ├─dbus-daemon

        ├─httpd───5*[httpd]

        ├─ntpd

        ├─polkitd───5*[{polkitd}]

        ├─rsyslogd───2*[{rsyslogd}]

        ├─sshd───sshd───bash───pstree

        ├─systemd-journal

        ├─systemd-logind

        ├─systemd-udevd

        ├─tuned───4*[{tuned}]

        └─wrapper─┬─java───13*[{java}]

                  └─{wrapper}

 

ps - report a snapshot of the current processes             顯示當前進程的快照

 

 

[root@lxk ~]# ps au

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root       495  0.0  0.0 110036   848 tty1     Ss+  Jul11   0:00 /sbin/agetty --noclear tty1 linux

root     16707  0.0  0.1 115524  2132 pts/0    Ss   23:05   0:00 -bash

root     16853  0.0  0.0 139504  1644 pts/0    R+   23:14   0:00 ps au

 

USER

發起進程的用戶

PID

進程的ID

%CPU

進程所佔CPU比率

%MEM

進程所佔內存比

VSZ

虛擬內存集

RSS

常駐內存集

TTY

終端類型,?表示不知道終端類型

COMMAND

進程的路徑,帶中括號的表示內核進程

TIME

累積佔據CPU時間

STAT

進程狀態

 

進程狀態:

D    uninterruptible sleep (usually IO)                                                                                     不可中斷的睡眠狀態

R    running or runnable (on run queue)                                                                                  運行

S    interruptible sleep (waiting for an event to complete)                                                         可中斷的睡眠狀態

T    stopped by job control signal                                                                                             被做業控制信號中斷

t    stopped by debugger during the tracing                                                                        

X    dead (should never be seen)                                                                                     死進程(不該該被看到)

Z    defunct ("zombie") process, terminated but not reaped by its parent                  殭屍進程

 

For BSD formats and when the stat keyword is used, additional characters may be displayed:

 

<    high-priority (not nice to other users)                                                                              高優先級進程

N    low-priority (nice to other users)                                                                                      低優先級進程

L    has pages locked into memory (for real-time and custom IO)

s    is a session leader                                                                                                                 會話主導者

l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)                           多線程進程

+    is in the foreground process group                                                                                   前臺進程

 

選項有三種風格:

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.                                                帶兩個-

 

選項:

a:全部與終端相關的進程;

x:全部與終端無關的進程;

u:以用戶爲中心組織進程狀態信息顯示;

         o  field1, field2,...:自定義要顯示的字段列表,以逗號分隔;

                   經常使用的fieldpid, ni, pri, psr, pcpu, stat, comm, tty, ppid, rtprio

                            ninice值;範圍-2019 。進程可把本身的CPU時間讓給別的進程。nice值越小,優先級越高

                            prioritypriority, 優先級;

                            rtprioreal time priority,實時優先級;

         -e:顯示全部進程

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

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

         -H:以層級結構顯示進程的相關信息;

經常使用組合1、

[root@promote ~]# ps aux                      #BSD風格選項

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root          1  0.0  0.3  44512  7196 ?        Ss   06:24   0:02 /usr/lib/systemd/systemd --switched-root --system --deseri

root          2  0.0  0.0      0     0 ?        S    06:24   0:00 [kthreadd]

root          3  0.0  0.0      0     0 ?        S    06:24   0:00 [ksoftirqd/0]

root          5  0.0  0.0      0     0 ?        S<   06:24   0:00 [kworker/0:0H]

         ......

         如下省略

        

         經常使用組合2、

         [root@promote ~]# ps -ef                        #UNIS風格選項

UID         PID   PPID  C STIME TTY          TIME CMD

root          1      0  0 06:24 ?        00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 21

root          2      0  0 06:24 ?        00:00:00 [kthreadd]

root          3      2  0 06:24 ?        00:00:00 [ksoftirqd/0]

root          5      2  0 06:24 ?        00:00:00 [kworker/0:0H]

root          6      2  0 06:24 ?        00:00:00 [kworker/u256:0]

         ......

         如下省略

 

                   UID:進程的執行者

PPID:父進程ID

CCPU的佔用百分比 (不肯定)

STIME:啓動時間

TTY:與哪一個終端相關

TIME:累積運行時間

CMD:啓動此進程的命令

         經常使用組合3、

[root@promote ~]# ps -eFH

UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD

root          2      0  0     0     0   2 06:24 ?        00:00:00 [kthreadd]

root          3      2  0     0     0   0 06:24 ?        00:00:00   [ksoftirqd/0]

root          5      2  0     0     0   0 06:24 ?        00:00:00   [kworker/0:0H]

root          6      2  0     0     0   3 06:24 ?        00:00:00   [kworker/u256:0]

root          7      2  0     0     0   0 06:24 ?        00:00:00   [migration/0]

root          8      2  0     0     0   0 06:24 ?        00:00:00   [rcu_bh]

 

SZ

RSS:駐留集大小。任務所使用的非交換物理內存

PSR:運行於哪顆CPU之上

 

         經常使用組合四:-eo, axo

        

[root@promote ~]# ps axo pid,pcpu,psr,ni,stat,comm,tty,rtprio

   PID %CPU PSR  NI STAT COMMAND         TT       RTPRIO

     1  0.0   2   0 Ss   systemd         ?             -

     2  0.0   2   0 S    kthreadd        ?             -

     3  0.0   0   0 S    ksoftirqd/0     ?             -

     5  0.0   0 -20 S<   kworker/0:0H    ?             -

         ......

         如下省略

 

pgrep, pkill - look up or signal processes based on name and other attributes

         pgrep是查找進程,pkill是殺死進程,二者語法相同。

pgrep [options] pattern

-u uideffective user      顯示誰運行的進程,發起進程的用戶可能以別的用戶的身份運行進程。

-U uidreal user     顯示誰啓動的進程

-t  TERMINAL:與指定的終端相關的進程;

-l:顯示進程名

-a:顯示完整格式的進程名;(CentOS 6中無此選項)

-P pid:顯示此進程的子進程;

         示例:

                   [root@promote ~]# pgrep -u postfix -a                                    #顯示postfix用戶運行的進程PID及完整進程名

2706 pickup -l -t unix -u

2707 qmgr -l -t unix -u

[root@promote ~]# pgrep -U postfix -l                                     #顯示postfix用戶啓動的進程PID及進程名

2706 pickup

2707 qmgr

[root@promote ~]# pgrep -at tty1                                   #顯示tty1終端運行的進程的完整進程名

972 /sbin/agetty --noclear tty1 linux

[root@promote ~]# pgrep -au 0                                        #顯示UID0的用戶啓動的進程及完整進程名

1 /usr/lib/systemd/systemd --switched-root --system --deserialize 20

2 kthreadd

3 ksoftirqd/0

5 kworker/0:0H

7 migration/0

......

如下省略

[root@promote ~]# pgrep -P 2701 -a                               #顯示PID2701的進程的子進程的完整進程名

2706 pickup -l -t unix -u

2707 qmgr -l -t unix -u

 

[root@promote ~]# vim pkillout                                       #打開一個vim進程

 

[1]+  已中止               vim pkillout

[root@promote ~]# ps aux | grep vim                                      #在進程列表中查看進程

root       3106  2.9  0.2 153708  5108 pts/1    T    01:06   0:00 vim pkillout

root       3108  0.0  0.0 112664   976 pts/1    S+   01:06   0:00 grep --color=auto vim

[root@promote ~]# pkill vim                                                        #結束進程

[root@promote ~]# ps aux | grep vim                                      #再次查看仍是有進程

root       3106  0.7  0.2 153708  5108 pts/1    T    01:06   0:00 vim pkillout

root       3111  0.0  0.0 112664   976 pts/1    S+   01:07   0:00 grep --color=auto vim

[root@promote ~]# fg                                                           #使用fg命令把vim切到前臺,提示進程已結束

vim pkillout                                                                                

Vim: Caught deadly signal TERM

Vim: Finished.

已終止

 

 

pidof -- find the process ID of a running program                  根據進程名取出進程ID

[root@promote ~]# ps aux | grep man

root       3140  0.2  0.1 119468  2224 pts/1    S+   01:14   0:00 man pidof

root       3155  0.0  0.0 112664   976 pts/0    R+   01:15   0:00 grep --color=auto man

[root@promote ~]# pidof man

3140

 

 

top - display Linux processes

top - 02:05:59 up  2:16,  2 users,  load average: 0.00, 0.01, 0.05

Tasks: 390 total,   2 running, 385 sleeping,   3 stopped,   0 zombie

%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.7 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem :  1868688 total,  1530752 free,   146112 used,   191824 buff/cache

KiB Swap:  2097148 total,  2097148 free,        0 used.  1547820 avail Mem

 

top: This portion consists of a single line containing:

program or window name, depending on display mode 進程或窗口名稱,取決於運行模式

current time and length of time since last boot                         當前時間和從上一次啓動到當前的時間

total number of users                                                                       用戶總數

system load avg over the last 1, 5 and 15 minutes                            過去1515分鐘系統的負載

TASK and CPU States

Line  1   shows  total tasks or threads, depending on the state of the Threads-mode toggle.  That total is further

classified as: running; sleeping; stopped; zombie

顯示總進程數,取決於Threads-mode toggle。包括運行中、睡眠中、中止、殭屍

Line 2      shows CPU state percentages based on the interval since the last refresh.

us, user    : time running un-niced user processes               用戶空間

sy, system  : time running kernel processes                             內核空間

ni, nice    : time running niced user processes                       調整nice時間

id, idle    : time spent in the kernel idle handler                    空閒

wa, IO-wait : time waiting for I/O completion                            等待IO時間

hi : time spent servicing hardware interrupts                                     硬中斷

si : time spent servicing software interrupts                              軟中斷(模式切換)

st : time stolen from this vm by the hypervisor                          虛擬機偷走的時間

 

可按t改變顯示方式

a           b    c         d

           %Cpu(s):  75.0/25.0  100[ ...

Where: a) is the combined us and ni percentage; b) is the sy percentage; c) is the total; and d) is  one  of  two

visual  graphs  of those representations. 

ausni一塊兒的百分比;bsy(內核空間)百分比; C:合計        D:兩個可視視圖之一

MEMORY Usage

As a default, Line 1 reflects physical memory                            第一行:物理內存

Line 2 reflects mostly virtual memory                                 第二行:虛擬內存

                  

                   可按m改變顯示方式,just like below:

                                      a    b      c

GiB Mem : 18.7/15.738   [ ...

GiB Swap:  0.0/7.999    [ ...

Where:  a)  is the percentage used; b) is the total available; and c) is one of two visual graphs of those representations.

a:使用的百分比;       b:總可用大小       c:兩種可視化視力之一

各列排序方式:

P:以佔據CPU百分比排序;

M:以佔據內存百分比排序;

T:累積佔用CPU時間排序;

退出命令:q

修改刷新時間間隔:s        

         Change delay from 3.0 to         (出如今首部信息下面,輸入時間,默認3秒)

終止指定的進程:k

         PID to signal/kill [default pid = 3073]      (出如今首部信息下面,輸入PID便可)

 

選項:

-d #:指定刷新時間間隔,默認爲3秒;

-b:以批次方式顯示;

-n #:顯示多少批次;

~]# top -b -n1            顯示一次即退出

 

top - 02:05:59 up  2:16,  2 users,  load average: 0.00, 0.01, 0.05

Tasks: 390 total,   2 running, 385 sleeping,   3 stopped,   0 zombie

%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.7 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem :  1868688 total,  1530752 free,   146112 used,   191824 buff/cache

KiB Swap:  2097148 total,  2097148 free,        0 used.  1547820 avail Mem

 

 

02:05:59   up

啓動時間

2:16

運行時長

2 users

總用戶數

load average

過去1515分鐘系統的負載

390   total

總任務數

2   running

運行中的任務

385   sleeping

睡眠中任務

3   stopped

中止狀態任務

0   zombie

殭屍態任務

us

用戶空間所佔比例

sy

系統空間所佔比例

id

空閒

wa

等待IO時間

hi

硬中斷

si

軟中斷

st

虛擬機偷走的時間

KiB Mem

物理內存

KiB   Swap

虛擬內存

 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

PID

進程ID

USER

建立用戶仍是運行用戶?

PR

用戶優先級

NI

nice

VIRT

虛擬內存集

RES

常駐內存集

SHR

共享內存集

S

狀態

%CPU

CPU佔用比例

%MEM

內存佔用比例

TIME+

累積CPU佔用時間

COMMAND

進程完整名稱

 

 

uptime - Tell how long the system has been running.  系統運行時長

[root@promote ~]# uptime

 02:21:50 up  2:32,  2 users,  load average: 0.00, 0.01, 0.05

三個字段分別爲:系統啓動時間、總運行時長、過去1分鐘,5分鐘,15分鐘的平均負載


參考馬哥教育課堂筆記

htop - interactive process viewer     交互式進程查看

支持鼠標操做

選項:

-d #:指定延遲時間間隔;

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

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

子命令:

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

s:跟蹤選定的進程的系統調用;

t:以層級關係顯示各進程狀態;

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

                   按字母a後,可用從左邊選定CPU,空爲不選,不空爲選擇,用空格鍵選擇。

uShow only processes owned by a specified user.顯示指定用戶的進程

                  按字母u以後,可從左側選定要顯示的用戶進程

MSort by memory usage 之內存佔用比例排序

PSort by processor usage CPU佔用比例排序

TSort by time 以佔用CPU使用時間排序

10.0% sys : 0.0% low:  0.0%                                                                          load average:0.06   0.05 0.05

20.0% sys : 0.0% low:  0.0%                                                                          Tasks:45; 1       running

30.0% sys : 0.0% low:  0.0%                                                                          Uptime:   02:53:49

40.0% sys : 0.0% low:  0.0%        

Mem:1.78G     used:194M       buffers:1.34M          cache:136M

Swp:2.00G        used:0K

 

PID   USER         PRI   NI     VIRT                   RES            SHR  S       CPU%       MEM%     TIME+      Command

 

CPU信息根據核心數分開顯示。紅色部分表明CPU各項信息

load average:過去1515分鐘的平均負載

Uptime:啓動時間

Mem:物理內存信息

Swp:虛擬內存信息

PID

程序ID

USER

用戶

PRI

優先級

NI

nice

VIRT

虛擬內存集

RES

常駐內存集

SHR

共享內存集

S

狀態

CPU%

CPU佔用比例

MEM%

內存佔用比例

TIME+

進程佔用CPU時間

Command

進程名

PRIORITY (PRI)         The kernel's internal priority for the process, usually just its nice value plus twenty. Different for real-time processes.       

M_SIZE (VIRT)          The size of the virtual memory of the process.

M_RESIDENT (RES)   The resident set size (text + data + stack) of the process (i.e. the size of the process's used physical memory)

M_SHARE (SHR)        The size of the process's shared pages.

STATE (S)                      The state of the process:

S for sleeping (idle)  

R for running

D for disk sleep (uninterruptible)

Z for zombie (waiting for parent to read its exit status)

T for traced or suspended (e.g by SIGTSTP)

W for paging

PPID                           The parent process ID

 

vmstat - Report virtual memory statistics   虛擬內存統計

         vmstat  [options]  [delay [count]]

                            選項:

                                     -s:顯示內存統計數據;

 

[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   1529644  1368 191400     0    0     3     0   436   46     0   1  99  0   0

[root@localhost ~]# vmstat 1 10                                #1秒刷新一次,總共刷新十次

[root@localhost ~]# vmstat 1                                      #1秒刷新一次

[root@localhost ~]# vmstat -s                                     #詳細統計內存信息

procs

r:正在運行或等待運行的進程的個數;CPU上等待運行的任務的隊列長度;

b:處於不可中斷睡眠態的進程個數;被阻塞的任務隊列的長度;

memory

swpd:交換內存使用總量;

free:空閒的物理內存總量;

buffer:用於buffer的內存總量;

cache:用於cache的內存總量;

swap

si  Amount of memory swapped in from disk (/s)

數據進入swap中的數據速率(kb/s

soAmount of memory swapped to disk (/s).

數據離開swap的速率(kb/s)

io

bi Blocks received from a block device (blocks/s).

從塊設備讀入數據到系統的速度

boBlocks sent to a block device (blocks/s).

保存數據至塊設備的速率

system

inThe number of interrupts per second, including the clock. 中斷速率;

csThe number of context switches per second.  上下文切換的速率(進程間切換速率);

cpu

us user space 用戶空間佔用的CPU比例

sysystem      系統空間佔用的CPU比例

ididle    空閒

wawait        等待

st: stolen 被虛擬化所搶佔的比例         當管理程序正在爲另外一個虛擬處理器服務時,虛擬CPUCPU花費在非自願等待中的時間百分比。

 

 

iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions      

[root@localhost ~]# iostat

Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)    03/14/2018     _x86_64_          (2 CPU)

 

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

           0.07    0.00    0.17    0.05    0.00   99.71

 

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

scd0              0.01         0.12         0.00       5250          0

sdb               0.00         0.06         0.00       2620          0

sda               0.48         7.69        10.28     336318     449462

[root@localhost ~]# iostat 1 10                                   #1秒刷新一次,總共刷新十次

 

         wrtn/swritten to the device expressed in a number of blocks per second

        

pmap - report memory map of a process     查看程序內存映射

 

pmap [options] pid [...]

         OPTIONS

-x:顯示詳細格式的信息

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

 

         [root@promote ~]# pmap -x 1

1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 20

Address           Kbytes     RSS   Dirty Mode  Mapping

00007f047c9b9000      16       8       0 r-x-- libuuid.so.1.3.0

00007f047c9bd000    2044       0       0 ----- libuuid.so.1.3.0

00007f047cbbc000       4       4       4 r---- libuuid.so.1.3.0

00007f047cbbd000       4       4       4 rw--- libuuid.so.1.3.0

00007f047cbbe000     224      36       0 r-x-- libblkid.so.1.1.0

00007f047cbf6000    2048       0       0 ----- libblkid.so.1.1.0

00007f047cdf6000      12      12      12 r---- libblkid.so.1.1.0

00007f047cdf9000       4       4       4 rw--- libblkid.so.1.1.0

00007f047cdfa000       4       0       0 rw---   [ anon ]

00007f047cdfb000      84      12       0 r-x-- libz.so.1.2.7

00007f047ce10000    2044       0       0 ----- libz.so.1.2.7

00007f047d00f000       4       4       4 r---- libz.so.1.2.7

00007f047d010000       4       4       4 rw--- libz.so.1.2.7

....

如下省略

 

glances - A cross-platform curses-based monitoring tool

 

在主界面下,輸入h進入幫助界面。

Glances 1.7.7 with PsUtil 2.2.1

 

               CAREFULWARNINGCRITICAL

  CPU user %      50.0  70.0  90.0            Swap %           50.0  70.0  90.0

  CPU system %    50.0  70.0  90.0                      Temp °C          60.0  70.0  80.0

  CPU iowait %    40.0  60.0  80.0            HDD Temp °C      45.0  52.0  60.0

  CPU steal %     10.0  15.0  20.0            文件系統         50.0  70.0  90.0

  Load             2.8   4.0  20.0           CPU process %   200.0 280.0 360.0

  RAM %           50.0  70.0  90.0          MEM process %    50.0  70.0  90.0

 

  a  自動排序                                       l  Show/hide logs

  c  根據CPU使用率排序                           b  Bytes or bits for network I/O

  m  根據內存佔用比排序                            w  刪除警告日誌

  p  根據進程名字排序                               x  刪除警告和嚴重級別的日

  i  Sort processes by I/O rate                                  1  全局CPU或者每一個CPU的狀態

  d  顯示/隱藏硬盤I/O狀態                           h  Show/hide this help screen

  f  顯示/隱藏文件系統狀態                            t  View network I/O as combination

  n  顯示/隱藏network狀態                          u  View cumulative network I/O

  s  顯示/隱藏sensors狀態                            z  Show/hide processes list

  y  顯示/隱藏hddtemp狀態                         q  Quit (Esc and Ctrl-C also work)

 

 

經常使用選項:

-b:以Byte爲單位顯示網上數據速率;

-d:關閉磁盤I/O模塊;

-m:關閉mount模塊;

-n:關閉network模塊;

-t #:刷新時間間隔;

-1:每一個cpu的相關數據單獨顯示;

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

-f  /PATH/TO/SOMEDIR:設定輸出文件的位置;

-B @IP|HOST            Bind server to the given IPv4/IPv6 address or hostname

-c @IP|HOST             Connect to a Glances server by IPv4/IPv6 address or hostname

-s                                  Run Glances in server mode

 

C/S模式下運行glances命令

服務模式:

glances  -s  -B  IPADDR

 

IPADDR:本機的某地址,用於監聽;

 

客戶端模式:

glances  -c  IPADDR

 

IPADDR:是遠程服務器的地址;

 

[root@promote ~]# glances -o HTML -f ./

打開另外一終端,安裝好python-jinja2firefox,提示以下:

Error: GDK_BACKEND does not match available displays

應該是須要圖形界面打開

換到centos 6.5圖形界面,成功打開。

 

C/S模式沒試驗成功

dstat - versatile tool for generating system resource statistics   

              生成系統資源信息的通用工具

經常使用選項:

-c --cpu:顯示cpu相關信息;

-C #,#,...,total

-d, --disk:顯示磁盤的相關信息

-D sda,sdb,...,tobal

-g:顯示page相關的速率數據;

-mMemory的相關統計數據

-nInterface的相關統計數據;

-p:顯示process的相關統計數據;

-r:顯示io請求的相關的統計數據;

-s:顯示swapped的相關統計數據;

 

--tcp

--udp

--raw

--socket

 

--ipc

 

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

--top-io:最佔用io的進程;

--top-mem:最佔用內存的進程;

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

 

 

kill - terminate a process              用於向進程發送信號,以實現對進程的管理

SYNOPSIS

kill -l [signal]

kill [-s signal|-SIGNAL] pid..

OPTIONS:

-l, --list [signal]                   Print a list of signal names, or convert signal given as argument to a name.

                                     打印信號名字,或把給寫的信號轉換爲信號名稱

-s, --signal signal      Specify the signal to send. The signal may be given as a signal name or number.

                                     指定要發送的信號,signal能夠是信號完整名稱、信號簡寫名稱、信號數字標識

經常使用信號:

1 SIGHUP:無須關閉進程而讓其重讀配置文件;

2SIGINT:終止正在運行的進程,至關於Ctrl+c。打斷

3SIGQUIT:至關於ctrl+\

9SIGKILL:殺死運行中的進程;有可能會損害數據,不多用。

15SIGTERM:終止運行中的進程;一般是後臺進程。經常使用、默認值

18SIGCONT:繼續運行

19SIGSTOP:中止,送到後臺

                   [root@promote ~]# kill -l 1

HUP

[root@promote ~]# kill -l hup

1

[root@promote ~]# ps aux | grep httpd

root       2906  0.1  0.1 226144  3644 ?        Ss   20:27   0:00 httpd

apache     2907  0.0  0.1 228228  3140 ?        S    20:27   0:00 httpd

apache     2908  0.0  0.1 228228  3140 ?        S    20:27   0:00 httpd

apache     2909  0.0  0.1 228228  3140 ?        S    20:27   0:00 httpd

apache     2910  0.0  0.1 228228  3140 ?        S    20:27   0:00 httpd

apache     2911  0.0  0.1 228228  3140 ?        S    20:27   0:00 httpd

root       2913  0.0  0.0 112664   976 pts/0    S+   20:27   0:00 grep --color=auto httpd

[root@promote ~]# kill 15 2893

[root@promote ~]# ps aux | grep httpd

root       2902  0.0  0.0 112664   976 pts/0    S+   20:25   0:00 grep --color=auto httpd

或者也能夠

[root@promote ~]# kill -s 15 2906

[root@promote ~]# !ps

ps aux | grep httpd

root       2916  0.0  0.0 112664   976 pts/0    S+   20:28   0:00 grep --color=auto httpd

 

killall - kill processes by name           經過進程名殺死進程

         killall  [-SIGNAL]  program

         如不指定SIGNAL,默認爲15

        

打開兩個終端,一個終端打開man進程,另一個終端運行killall man,運行man進程的終端提示以下:

         Manual page killall(1) line 1 (press h for help or q to quit)已終止

 

pgrep, pkill - look up or signal processes based on name and other attributes

         pgrep是查找進程,pkill是殺死進程,二者語法相同。

pgrep [options] pattern

-u uideffective user      顯示誰運行的進程,發起進程的用戶可能以別的用戶的身份運行進程。

-U uidreal user     顯示誰啓動的進程

-t  TERMINAL:與指定的終端相關的進程;

-l:顯示進程名

-a:顯示完整格式的進程名;(CentOS 6中無此選項)

-P pid:顯示此進程的子進程;

相關文章
相關標籤/搜索