Linux命令:常用进程查看命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令:常用进程查看命令相关的知识,希望对你有一定的参考价值。

常用进程查看命令:


内核 kernel:  0-99:内核调整的

    init:   100-139:用户可控制

O:    O(1)    O(n)    O(logn)    O(n^2)    O(2^n)

init: 进程号为1


  1. 进程管理命令一:ps

ps: Process State    1. SysV风格:-    2. BSD风格:   

    a: 所有与终端有关的进程

    u: 该进程是由哪个用户启动的

    x: 所有与终端无关的进程

   

[[email protected] 1]# ps ax | head -6
  PID TTY  STAT   TIME COMMAND
1 ?   Ss   0:01 init [5]      STAT表示进程状态
2 ?   S<   0:00 [migration/0]   TIME表示实际使用CPU时间
3 ?   SN   0:00 [ksoftirqd/0]   COMMAND表示命令
4 ?   S<   0:00 [migration/1]
5 ?   SN   0:00 [ksoftirqd/1]     表示和终端无关

 4024 tty2   Ss+    0:00 /sbin/mingetty tty2
 4025 tty3   Ss+    0:00 /sbin/mingetty tty3

[[email protected] 1]# ps aux | head -6
USER  PID %CPU %MEM  VSZ  RSS TTY   STAT START  TIME COMMAND
root  1  0.0  0.0 10348 692 ? Ss Apr28 0:01 init [5]  此进程的有效用户
root 2  0.0  0.0 0 0 ? S<   Apr28   0:00 [migration/0] 内核进程
root 3  0.0  0.0 0 0 ?  SN   Apr28   0:00 [ksoftirqd/0] 
root 4  0.0  0.0  0  0 ?   S<   Apr28   0:00 [migration/1]
root 5  0.0  0.0  0  0 ?   SN   Apr28   0:00 [ksoftirqd/1]

root 4024  0.0  0.0  3792   488 tty2   Ss+  Apr28   0:00 /sbin/mingetty tty2
root 4025  0.0  0.0  3792   488 tty3   Ss+  Apr28   0:00 /sbin/mingetty tty3

 VSZVirtual Memory Setisor  虚拟内存集

 RSSResident memory Set  常驻内存集

TTYTeleTYpe  包括虚拟控制台,串口以及伪终端设备

COMMAND:哪个命令启动的该进程,有中括号[*]的进程为内核进程

进程的分类:

    跟终端相关的进程

    跟终端无关的进程

 

STAT进程状态:

    D:不可中断的睡眠(Non interrupted sleep)

    R:运行或就绪(run)

    S:可中断的睡眠(sleep)

    T:停止(stop)

    Z:僵死(zombie)

   

    <: 高优先级进程

    N: 优先级进程

    +: 前台进程组中的进程

     l :  多线程进程

    s :  会话进程首进程

ps  (SysV风格)

    -elF

    -ef

    -eF


 [[email protected] 1]# ps -el |head -6
F S  UID  PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY  TIME CMD
4 S   0   1   0  0  75   0 -  2587 -   ?    00:00:01 init
1 S   0   2   1  0 -40   - -     0 migrat ?    00:00:00 migration/0
1 S   0   3   1  0  94  19 -     0 ksofti ?    00:00:00 ksoftirqd/0
1 S   0   4   1  0 -40   - -     0 migrat ?    00:00:00 migration/1
1 S   0   5   1  0  94  19 -     0 ksofti ?    00:00:00 ksoftirqd/1

[[email protected] 1]# ps -elF |head
F S UID PID  PPID  C PRI  NI ADDR SZ WCHAN RSS PSR STIME TTY TIME CMD
4 S root 1   0  0  75  0 -  2587 -      692   5 Apr28 ?  00:00:01 init [5]
1 S root 2   1  0 -40   - -   0 migrat   0   0 Apr28 ?  00:00:00 [migration/0]
1 S root 3   1  0  94  19 -   0 ksofti   0   0 Apr28 ?  00:00:00 [ksoftirqd/0]
1 S root 4   1  0 -40   - -   0 migrat   0   1 Apr28 ?  00:00:00 [migration/1]
1 S root 5   1  0  94  19 -   0 ksofti   0   1 Apr28 ?  00:00:00 [ksoftirqd/1]


UID :linux用户身份证明(User Identification)的缩写

PRI: (priority) 优先级

PID : (process ID number) 进程的id号

PPID:(parent process ID number) 进程的父进程的id号

NI :(nise) nise值

SZ:(size) size值

RSS(Resident memory Set)  常驻内存集

PSR:(Processor) 正常运行的CPU编号

STIME:(Start Time) 正常运行的CPU编号


ps -o [PROPERTY1], [PROPERTY2] 显示前台进程

 ps -o pid,comm,ni

 

[[email protected] 1]# ps -o pid,comm,ni   #显示前台进程的pid,comm,ni
PID COMMAND   NI
15045 bash      0
15512 ps      0
[[email protected] 1]# ps -axo pid,comm,ni   #显示所有进程pid,comm,ni
Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.7/FAQ
  PID COMMAND   NI
    1 init       0
    2 migration/0  -
    3 ksoftirqd/0   19
    4 migration/1     -
    5 ksoftirqd/1   19
    6 migration/2    -
    7 ksoftirqd/2   19

    ....

[[email protected] 1]# ps aux |grep "bash"
root 13721  0.0  0.0  66052  1524 tty1 Ss+  May01   0:00 -bash
root 15045  0.0  0.0  66172  1668 pts/0 Ss   04:29   0:00 -bash
root 15553  0.0  0.0  61116   628 pts/0 S+   08:03   0:00 grep bash


  2. 进程管理命令二:pstree、pgrep、pidof

pstree: 显示当前系统上的进程树

pgrep:pgrep -u root bash   ( -u:euid -U:uid ) 

pidof: 根据程序名称,查找其相关进程的ID号;


 [[email protected] 1]# pstree |head -6
init-+-acpid
     |-atd      #父进程删除后子进程也一起被删除
     |-auditd-+-audispd---{audispd}
     |        `-{auditd}
     |-automount---4*[{automount}]
     |-avahi-daemon---avahi-daemon

[[email protected] 1]# pgrep -u root bash
13721
15045
18591

[[email protected] 1]# pidof bash
18591


  3. 进程管理命令三:top

top - 08:28:16 up 9 days,  4:274 usersload average: 0.00, 0.00, 0.00

Tasks: 187 total,   1 running, 185 sleeping,   0 stopped,   1 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

Mem:   8175180k total,  8088220k used,    86960k free,   335844k buffers
Swap:  4192924k total,        0k used,  4192924k free,  7192208k cached

 #当前时间 运行时长 登录用户数 平均负载 1min 5min 15min

 #所有进程信息:总计187个, 1个运行,185个睡眠,0个停止,0个僵死

 #us用户空间UserSpace, sy内核空间SYstem, ni 调整NICE值,100.0%id空闲idel,wa等待wait,

   0.0%hi 硬件中断hardware interrupt, si软中断Soft Interrupt, 0.0%st被偷走时间stole


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

15603 root 15   0 12740 1164  820 R  0.3  0.0   0:00.01 top
1 root 15   0 10348  692  584 S  0.0  0.0   0:01.62 init
2 root RT  -5  0 0  0 S  0.0  0.0   0:00.06 migration/0 实时优先级
3 root 4  19  0  0  0 S  0.0  0.0   0:00.48 ksoftirqd/0
4 root RT  -5  0 0  0 S  0.0  0.0   0:00.28 migration/1

 #VIRT 虚拟内存集 SHR 共享内存大小shareMemsize S 状态 TIME+实际使用CPU时长


 # 按 “1” 显示所有CPU

 # 按 “M” 按%MEM排序

 # 按 “P” 按%CPU排序

 # 按 “T” 按TIME+排序


l : 是否显示平均负载和启动时间 (load)

t : 是否显示进程和CPU状态相关信息 (Tasks)

m : 是否显示内存相关信息(Mem)


 c: 是否显示完整的命令行信息

 k: 终止某个进程(Kill)

 q: 退出top(quit)


-d # 指定延迟时长:top -d 1   刷新时长为1S

-b 批模式:  top -d 1 -b    翻屏刷新时长为1S

-n # 显示多少批:top -d 1 -b -n 3 翻屏刷新时长为1S三次后退出


  4. 进程间通信(IPC: Inter Process Communication)

    共享内存

    信号:Signal

    旗语:Semaphore

   

重要的信号:

1:SIGHUP: 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效

2:SIGINT:Ctrl+c: 中断一个进程(interrupt [ntrpt])

9:SIGKILL:杀死一个进程(立刻强行中止,相关资源失效)

15:SIGTERM:终止一个进程, 默认信号(开始在一定时间内中止,有时间关闭相关资源)

   

指定一个信号的方法:

    信号号码:kill -1

    信号名称:kill -SIGKILL (简写)kill -KILL

 

 kill 单个进程:kill PID

kill多个同名进程:killall COMMAND

[[email protected] ~]# ps aux |grep top
root     15937  0.2  0.0  12740  1156 pts/0    S+   16:10   0:00 top
root     15939  0.0  0.0  61144   740 pts/2    S+   16:10   0:00 grep top
[[email protected] ~]# kill 15937


  5. 调整nice值

调整已经启动的进程的nice值:renice NI PID

在启动时指定nice值:nice -n NI COMMAND


 [[email protected] ~]# ps axo pid,ni,comm
  PID  NI COMMAND
    1   0 init
    2   - migration/0
    3  19 ksoftirqd/0
    4   - migration/1
   ...
18591   0 bash
32399   0 notification-da

[[email protected] ~]# renice 3 18591
18591: old priority 0, new priority 3

[[email protected] ~]# renice -2 18591
18591: old priority 3, new priority -2
 [[email protected] ~]# nice -n -2 useradd user1  #新建用户且将其nice值调整为-2


  5. 前台作业:占据了命令提示符

后台作业:启动之后,释放命令提示符,后续的操作在后台完成

 

前台-->后台:

    Ctrl+z: 把正在前台的作业送往后台并停止,jobs查看作业号

    COMMAND&:让命令在后台执行


bg: 让后台的停止作业继续运行(background)

    bg [[%]JOBID]


fg: 将后台的作业调回前台(foreground)

    fg [[%]JOBID]


jobs: 查看后台的所有作业,作业号不同于进程号

        +:命令将默认操作的作业

        -:命令将第二个默认操作的作业


kill %JOBID: 终止某作业,%不可省,若无%则表示终止该进程号的进程

 

  6. 系统状态查看命令:vmstat   (Virtual Memory status)

[[email protected] ~]# vmstat
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 85832 336336 7192364 0 0  1  1  6  4  0  0 100 0 0

procs:运行run 阻塞block

memory:交换空间 空闲内存 缓冲内存  缓存空间

swap:si (swap in)  so (swap out to memory)

  io: bi (blocks in to memory)   bo (block out to harddisk)  磁盘块block

system:in中断个数 cs(context switch)

  cpu  :us(user space %)  sy(system space %) id(idle space %) wa(wait io %) st(stole%)


vmstat  1  5:每隔一秒显示1次,共显示5次


  7. 系统运行时间:uptime

 

  8. 查看内存信息:

[[email protected] ~]# cat  /proc/meminfo
MemTotal:      8175180 kB
MemFree:         85708 kB
Buffers:        336388 kB
Cached:        7192396 kB
SwapCached:          0 kB
Active:        6949012 kB
Inactive:       728836 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      8175180 kB
LowFree:         85708 kB
SwapTotal:     4192924 kB
SwapFree:      4192924 kB
Dirty:              28 kB
Writeback:           0 kB
AnonPages:      149060 kB
Mapped:          41604 kB
Slab:           360808 kB
PageTables:      20772 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   8280512 kB
Committed_AS:   447852 kB
VmallocTotal: 34359738367 kB
VmallocUsed:    265092 kB
VmallocChunk: 34359472503 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

 ---end---

以上是关于Linux命令:常用进程查看命令的主要内容,如果未能解决你的问题,请参考以下文章

linux常用命令整理

linux常用命令总结

linux常用命令

linux常用命令:ps 命令

Linux常用命令

Linux常用命令