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

VSZ:Virtual Memory Setisor  虚拟内存集

RSS:Resident memory Set  常驻内存集

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

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:27,  4 users,  load 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---

时间: 2024-08-11 04:49:26

Linux命令:常用进程查看命令的相关文章

linux 进程查看命令汇集

首先,向大家介绍一些linux查看进程的命令,pstree.ps.top.htop等,接下来为大家演示这几个常用命令. 1,  Linux ps命令: (1)linux 进程查看命令ps,常用命令为#ps aux 如图所示: 其中红色圈出部分: PID:进程号  %CPU:进程占用cpu比例  %MEM:进程占用内存比例  VSZ:虚拟内存占用比例  RSS:常驻内存级 (2)ps常用命令组合#ps –ef  如图所示: 其中,-e:显示所有进程  -f:显示完整格式 2,  linux top

Linux中常用的查看系统信息的命令

Linux中常用的查看系统信息的命令 导读 Linux是一个神奇而又高效的操作系统,学完Linux对Linux系统有一个熟悉的了解后,你需要了解下这些实用的查看系统信息的命令. 查看系统版本命令 uname 谈到系统版本就一定会想到uname,查看系统内核版本 uname -参数 其他的什么-n -m -r 参数都忽略,直接-a [[email protected] ~]#uname -a Linux linuxprobe.com 2.6.32-358.el6.x86_64 #1 SMP Tue

二十七、Linux下常用的shell命令记录

本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会持续更新. 说明,我是在一个Centos 6.4 64位的虚拟机系统进行测试.本文介绍的命令都会在此Centos下运行验证(也有部分命令会在我的suse/ubuntu系统里测试的,会做特明说明),但运行结果就不再列出了. 硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /pro

Linux最常用的基础命令 下篇

Linux最常用的基础命令个人总结 shell脚本 脚本就是:写一堆指令存成一个文本,用于完成一些小任务 a="123" linux中定义一个变量 echo $a echo $b 显示的是空 echo $master 打印的是根/ ----------------------------------- Ubuntu中安装一个vim apt-get install -y vim ----------------------------------- /etc/bashrc 对整个系统中的

[转帖]Linux 硬件和系统配置查看命令小结

https://blog.csdn.net/strongwangjiawei/article/details/8208825 转帖了不少 发现自己记住的还是不多.. Linux 硬件和系统配置查看命令小结 2012年11月21日 16:58:47 strongwangjiawei 阅读数:10550 LINUX查看硬件配置命令 系统 # uname  -a               # 查看内核/操作系统/CPU信息 # head -n 3  /etc/issue   # 查看操作系统版本 #

linux学习(2):linux服务器常用操作和命令

linux服务器常用操作和命令 目录 1. 什么是linux服务器load average?2. 如何查看linux服务器负载3. 服务器负载高怎么办?4. 如何查看服务器内存使用率?5. 如何查看单个进程占用的内存大小?6. 无法从linux服务器A登录到服务器B怎么办?7. 如何查看正在使用的服务和端口?8. 如何查看服务器进程信息?9. 如何杀死进程?10. 如何查找僵尸进程?11. 如何在内网服务器间传输数据?12. 为什么启动不了服务器端口?13. 常用的linux服务器性能查看命令有

linux服务器常用操作和命令

1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多.参考资料:http://en.wikipedia.org/wiki/Load_average 2. 如何查看linux服务器负载 可以通过w,top,uptime,procinfo命令,也可以通过/proc/loadavg文件查看. 3. 服务器负载高怎么办? 服务器负载(load/load average)是根据进程队列的

5、inux常用命令以及如何查看命令帮助

本节课主要讲解一些常用的linux命令以及如何查看命令的帮助,为学员以后的自学打下基础 如何视频看不清楚,可以到http://www.tudou.com/listplay/63G3qhnJfP8/Xl9lx4q8xgs.html全屏观看或者到http://yunpan.cn/cVSrHAk8ExAd9 访问密码 aa19下载课程 ,也直接访问官方网站:http://www.xinxinedu.org 手机用户可以直接扫描下面的土豆二维码,直接可以在手机上观看视频

20145239 Linux下常用的ls命令总结

20145239 Linux下常用的ls命令总结 通过学习本周的教学视频和要求掌握的内容,发现ls命令被使用的次数非常多,但作为一个初学者,可能我只会ls或者顶多ls -l两种用法.但其实ls是一个非常实用的指令,因此我想简单的总结一下ls的常用命令. ls,英文全名:list 即列表的意思. 常用命令(以本周的10io文件夹为例): 1. ls -a 列出文件下所有的文件,包括以"."开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录). 2. ls