load ps linux命令,linux常用操作指令1—— 查看和管理进程指令(ps、top、pstree、kill)...

linux下查看和管理进程

查看和管理进程

1、使用ps命令监控系统进程

2、使用pstree命令监控系统进程

3、使用top命令监控系统进程

4、结束进程

参考

查看和管理进程

1、使用ps命令监控系统进程

ps:查看进程状态 (一个瞬间的进程状态,静态)

语法: ps [options]

参数格式:

UNIX格式:一个"-"开头

BSD格式:没有"-"开头

GNU长格式:两个"-"开头

常用参数:

a  # 显示与终端相关的所有进程,包含每个进程的完整路径

u  # 显示进程的用户信息

x  # 显示与终端无关的所有进程

-a  # 显示所有终端下执行的进程

-u  # 显示指定用户相关的进程信息

-e  # 显示所有进程

-f  # 额外显示UUID PPID C与STIME栏位

f  # 显示进程树

-H  # 显示进程树

-I  # 以详细的格式来显示进程的状况

-o  # 自定义输出指定字段,以逗号分隔

实例1: ps -ef

# 常用组合,UNIX格式组合 -e -f ,额外显示UID,PPID,C与STIME栏位

[root@centos7 ~]# ps

PID TTY TIME CMD

1525 pts/0 00:00:00 bash

1884 pts/0 00:00:00 ps

[root@centos7 ~]# ps -ef

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 10:04 ? 00:00:01 /usr/lib/systemd/systemd --switched-rroot 2 0 0 10:04 ? 00:00:00 [kthreadd]

root 3 2 0 10:04 ? 00:00:00 [ksoftirqd/0]

root 5 2 0 10:04 ? 00:00:00 [kworker/0:0H]

root 7 2 0 10:04 ? 00:00:00 [migration/0]

# UID   进程被该UID所拥有

# PID   进程的标识号,进程ID

# PPID   进程的父进程的标识号

# C     CPU使用的资源百分比

# STIME  进程开始的时间

# tty   该进程实在哪个终端机上面运作,若与终端无关,则显示?,tty1-tty6是本机上面的登入者进程,pts/0表示网络连接进主机的进程

# TIME   进程所使用的总的CPU时间

# CMD   正在执行的命令

实例2: ps aux

BSD格式参数,使用a选项和x选项显示所有进程 ,u显示进程的用户信息

[root@centos7 ~]# ps aux   # BSD格式参数,使用a选项和x选项显示所有进程 u显示进程的用户信息

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

root 1 0.0 0.2 43680 4052 ? Ss 10:04 0:01 /usr/lib/systemd/systroot 2 0.0 0.0 0 0 ? S 10:04 0:00 [kthreadd]

root 3 0.0 0.0 0 0 ? S 10:04 0:00 [ksoftirqd/0]

root 5 0.0 0.0 0 0 ? S< 10:04 0:00 [kworker/0:0H]

root 7 0.0 0.0 0 0 ? S 10:04 0:00 [migration/0]

# USER    该进程所属用户

# PID     该进程的进程号

# %CPU    该进程使用掉的CPU资源百分比

# %MEM    该进程所占用的内存百分比

# VSZ     该进程使用掉的虚拟内存量

# RSS     该进程占用的固定的内存量

# TTY     该进程在那个终端机上面运行的

# STAT

R 正在运行  S 正在中断睡眠中  D 不可中断睡眠

T  正在侦测或者是停止了  Z  已经终止,或者zombie僵死进程,

+ 前台进程  l 多线程进程  N 低优先级进程

< 高优先级进程  s 进程领导者  L 已将页面锁定到内存中

# START 该进程被触发启动的时间

# TIME   该进程实际使用CPU运作的时间  # COMMAND  该进程的实际命令

实例3: ps - l

将目前属于您自己这次登入的 PID 与相关信息列示出来

# UNIX格式参数,使用参数-l以详细的格式显示进程的状况F S UID PID

[root@centos7 ~]# ps -l

PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

4 S 0 1525 1419 0 80 0 - 29122 do_wai pts/0 00:00:00 bash

0 R 0 1898 1525 0 80 0 - 38300 - pts/0 00:00:00 ps

# F 代表这个进程的flag,4代表超级用户

# S 代表这个进程的状态(STAT),

# PRI  优先级Priorty的缩写,执行顺讯

# NI  NICE值

# ADDR  指出该进程在内存那个部分,如果是个running进程,一般是“-”

# SZ    使用掉的内存大小

# WCHAN  进程是否在运行当中,-表示正在运行

实例4: ps -ef |grep

ps 与grep 常用组合用法,查找特定进程。

552c1af89b1f967d5a48e19c05b6e4d8.png

实例5:ps -u root

显示指定用户进程

[root@localhost ~]# ps -u zhaojiedi1992 # 查看有效用户为zhaojiedi1992的进程

PID TTY TIME CMD

15368 pts/3 00:00:00 bash

15389 pts/3 00:00:00 vim

15390 pts/3 00:00:00 vim

2、使用pstree命令监控系统进程

树状查看 (可以看出所属子进程)

linux中,每一个进程都是由其父进程创建的。此命令以可视化方式显示进程,通过显示进程的树状图来展示进程间关系。

主要参数

-h:高亮显示当前的进程及其祖先

-H:高亮显示指定进程及其祖先

-p:显示进程的pid

-s:显示特定进程的直系进程

-u:指定用户

实例1:pstree -p

显示当前所有进程的进程号和进程ID。

68c0997fc8c2bccdabdb2234f6240da5.png

实例2:pstree -a

显示所有进程的所有详细信息,遇到相同的进程名可以压缩显示。

5196ba8a2e33b96bda2201dd08ae2c13.png

3、使用top命令监控系统进程

top:“实时查看” ,按q退出 (实时动态显示)

-a  # 将进程按照使用内存排序

-b  # 批处理的模式显示进程信息,输出结果可以传递给其他程序或写入到文件中,配合-n使用,一直打到-n设置的阈值

-c  # 显示进程的整个命令路径,而不是只显示命令名称

-d  # 指定每两次屏幕信息刷新之间的时间间隔

-H  # 指定这个可以显示每个线程的情况,否则就是进程的总的状态

-i  # 不显示闲置或者僵死的进程状态

-n  # top输出信息更新的次数,完成后将推出top命令

-p  # 显示指定的进程信息

键入 top,显示如下信息

top - 14:27:26 up 4:22, 1 user, load average: 0.08, 0.03, 0.05

Tasks: 96 total, 2 running, 94 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 : 1865284 total, 1460360 free, 96264 used, 308660 buff/cache

KiB Swap: 1048572 total, 1048572 free, 0 used. 1595216 avail Mem

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

2029 root 20 0 0 0 0 R 0.3 0.0 0:00.14 kworker/0:1

第一行:任务队列信息,同uptime命令的执行结果

14:27:26    # 当前系统时间

up 4:26    # 系统已经运行了4个半小时

1 user     # 当前有1个用户登录系统

load average: 0.08, 0.03, 0.05    # 1分钟,5分钟,15分钟的平均负载情况

第二行:Tasks为任务(进程)。上面的信息显示为

共有96个进程,处于运行状态的有2个,94个在休眠,stoped状态0个,zombie状态有0个

第三行:CPU状态信息

us  # 用户空间占用CPU的百分比

sy  # 内核空间占用cpu的百分比

ni  # 改变优先级的进程占用CPU的百分比

id  # 空闲CPU百分比

wa  # I/O等待只用CPU的百分比

hi  # 硬中断占用CPU的百分比

si  # 软中断

st  # 虚拟机占用CPU的百分比

第四行:内存状态

total  # 物理内存总量

used   # 使用中的内存总量

free   # 空闲内存总量

buffers  # 缓冲的内存量

第五行:swap交换分区信息

total  # 交换分区总量

used   # 使用的交换区总量

free    # 空闲交换区总量

cached  # 缓存的内存量

第六行:空行

第七行:给出的各进程(任务)的状态监控

PID  # 进程iD

USER  # 进程所有者

PR    # 进程优先级

NI    # nice值,负值表示高优先级,正值表示低优先级

VIRT    # 进程使用的虚拟内存总量,单位为KB

RES    # 进程使用的,未被换出的物理内存大小,单位KB

SHR    # 共享内存大小,单位为kb

S      # 进程状态,D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程

%CPU    # 上次更新到现在的CPU时间占用百分比

%MEM    # 进程使用的物理内存百分比

TIME+    # 进程使用的物理内存百分比

COMMAND  # 进程名称

常用操作

例1:设置top命令10秒刷新一次。

命令:top -d 10

例2:显示程序及其完整相关信息

命令:top -c

例3:设定监控信息的更新次数。如设定系统任务信息更新5次后结束top命令,在命令行提示符下输入:

命令:top -n 5

4、结束进程

kill[参数][进程号]

常用参数

-l :信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称。

-a :当处理当前进程时,不限制命令名和进程号的对应关系。

-p :指定kill 命令只打印相关进程的进程号,而不发送任何信号。

-s :指定发送信号。

-u :指定用户。

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:

HUP 1 终端断线

INT 2 中断(同 Ctrl + C)

QUIT 3 退出(同 Ctrl + \)

TERM 15 终止

KILL 9 强制终止

CONT 18 继续(与STOP相反, fg/bg命令)

STOP 19 暂停(同 Ctrl + Z)

实例1:查看信号的编号

c8a0b3ca65e23bc3f681b2e49d3a935e.png

实例2:杀死指定进程:这个常用

先用ps查找进程,然后用kill杀掉

命令:kill 3268

例:强制终止进程,向进程3268发送9信号,也就是杀死他

命令:kill –9 3268

说明:这种方法应该尽量少用。

注意:kill结束进程有些关键进程是无法杀死的。比如:

bash的进程。

init进程是无法被终止,或者说是不允。

参考

1、https://www.cnblogs.com/shijiaqi1066/p/3836017.html

2、https://www.cnblogs.com/flashfish/p/10750917.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值