Linux的进程管理

Linux的进程管理

一、Linux的进程

1.1进程

每个执行的程序,每个进程都分配有一个PID(即进程号)

前台:就是在屏幕上执行的。

后台:在屏幕上看不见,在后台执行。(系统的服务一般都是在后台进行的,而且常驻系统,直至关机才结束

1.2ps命令

1.2.1ps命令的作用

用来查看当前系统中哪些有哪些在执行的进程,以及执行的情况。

1.2.2ps命令的语法

ps 【选项】

(ps命令一般配合管道符以及grep命令一起使用)

1.2.3ps命令的参数
参数作用
-a显示当前终端所有进程信息
-u以用户的格式显示当前信息
-x显示后台进程运行参数
-e显示全部进程
-f全格式
1.2.4ps命令的实例
  • ps -a (显示当前终端所有进程信息)

    [root@guowang1 ~]# ps -a
       PID TTY          TIME CMD
      7497 pts/0    00:00:00 ps
    
    
  • ps -au (以用户的格式显示当前终端的详细信息)(注意:-u不能单独使用)

    [root@guowang1 ~]# ps -au
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root       7180  0.0  0.2 115436  1992 tty1     Ss+  11:25   0:00 -bash
    root       7205  0.0  0.2 115440  2080 pts/0    Ss   11:26   0:00 -bash
    root       7500  0.0  0.1 155360  1876 pts/0    R+   13:28   0:00 ps -au
    
    
  • ps -x (显示后台进程运行参数)

    [root@guowang1 ~]# ps -x
       PID TTY      STAT   TIME COMMAND
         1 ?        Ss     0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
         2 ?        S      0:00 [kthreadd]
         3 ?        S      0:00 [ksoftirqd/0]
         5 ?        S<     0:00 [kworker/0:0H]
    
    
  • ps -aux (以用户的格式显示当前终端的全部参数信息)

    [root@guowang1 ~]# ps -aux
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          1  0.0  0.6 127860  6504 ?        Ss   11:24   0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    root          2  0.0  0.0      0     0 ?        S    11:24   0:00 [kthreadd]
    root          3  0.0  0.0      0     0 ?        S    11:24   0:00 [ksoftirqd/0]
    root          5  0.0  0.0      0     0 ?        S<   11:24   0:00 [kworker/0:0H]
    root          6  0.0  0.0      0     0 ?        S    11:24   0:00 [kworker/u256:0]
    root          7  0.0  0.0      0     0 ?        S    11:24   0:00 [migration/0]
    root          8  0.0  0.0      0     0 ?        S    11:24   0:00 [rcu_bh]
    root          9  0.0  0.0      0     0 ?        S    11:24   0:00 [rcu_sched]
    
    
  • ps -ef(以全格式显示全部进程)

    [root@guowang1 ~]# ps -ef
    UID         PID   PPID  C STIME TTY          TIME CMD
    root          1      0  0 11:24 ?        00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    root          2      0  0 11:24 ?        00:00:00 [kthreadd]
    root          3      2  0 11:24 ?        00:00:00 [ksoftirqd/0]
    root          5      2  0 11:24 ?        00:00:00 [kworker/0:0H]
    root          6      2  0 11:24 ?        00:00:00 [kworker/u256:0]
    root          7      2  0 11:24 ?        00:00:00 [migration/0]
    root          8      2  0 11:24 ?        00:00:00 [rcu_bh]
    
    
1.2.5 ps -aux 表头信息详解

USER:用户名称

PID:进程号

%CPU:进程占CPU的百分比

%MEM:进程占物理内存的百分比

VSA:进程占用虚拟内存的大小(单位:KB)

RSS:进程占用物理内存的大小(单位:KB)

TT:终端名称缩写

STAT:进程状态(S-睡眠。s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的进程,R-表示正在运行,D-表示短暂等待,Z-表示僵死进程,T-表示被追踪或者被停止

STARTED:进程的启动时间

TIME:CPU时间,即进程使用CPU的总时间

COMMAND:启动进程所有的命令和参数。

1.2.6 ps -ef表头信息详解

UID:用户ID

PID:进程ID(即进程号)

PPID:父进程ID

C:CPU用于执行计算机执行优先级的因子。数值越大,表明是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

STIME:进程启动的时间

TTY:完整的终端名称

TIME:进程占用CPU时间

CMD:启动进程所用的命令和参数

1.3 kill 和 killall 命令

1.3.1 kill 和 killall 命令的作用

kill命令用于终止该进程。(用进程号杀死该进程)

killall命令也用于终止进程。(通过运用进程名称杀死进程,同时支持通配符)

1.3.2 kill和killall命令栏的语法

kill 【选项】 进程号

killall 进程名称

1.3.3kill的参数

kill -9 进程号 (强制杀死该进程哪怕是在运行)

###1.4 pstree命令

1.4.1 pstree命令的作用

查看进程树,可以更直观的查看进程信息

1.4.2pstree 命令的语法

pstree 【选项】

1.4.3pstree命令的参数
参数作用
-u显示进程的所属用户
-p显示进程的PID
1.4.4 pstree 命令的实例
  • pstree

    [root@guowangzhongwen ~]# pstree
    systemd─┬─ModemManager───2*[{ModemManager}]
            ├─NetworkManager─┬─dhclient
            │                └─2*[{NetworkManager}]
            ├─VGAuthService
            ├─abrt-dbus───2*[{abrt-dbus}]
    
    
  • pstree -p

    [root@guowangzhongwen ~]# pstree -p
    systemd(1)─┬─ModemManager(611)─┬─{ModemManager}(633)
               │                   └─{ModemManager}(666)
               ├─NetworkManager(771)─┬─dhclient(900)
               │                     ├─{NetworkManager}(776)
               │                     └─{NetworkManager}(778)
               ├─VGAuthService(607)
    
    
    

二、显示进程信息 top命令

2.1 top 命令

2.1.1 top命令的作用

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况,类似于Windows系统中的任务管理器。

2.1.2top命令的语法

top 【选项】

2.1.3top命令表头信息详解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R2ZKcpUP-1658370792179)(C:\Users\秦彦\AppData\Roaming\Typora\typora-user-images\image-20220719144328180.png)]

前五行是系统整体的信息统计:

第一行是任务列队信息

信息详解
14:43:13当前时间
up 18 min系统运行时间
3 user当前登录用户数
load average:0.01,0.02,0.05系统负载,即任务队列的平均长度。三个数值分别表示1分钟,5分钟,15分到现在的平均值。

第二、三行为进程和CPU信息

信息详解
213 total进程总数为213
running正在运行的经常数
sleeping睡眠的进程数
stopped停止的进程数
zombie僵尸进程数
us用户空间占用CPU百分比
sy内核空间占用CPU百分比
ni用户进程空间内改变过优先级的进程占用CPU百分比
id空闲CPU百分比
wa等待输入输出的CPU时间百分比
hi硬中断占用CPU的百分比
si软中断占用CPU的百分比
st是当hypervisor服务另一个虚拟处理器的时候,虚拟CPU等待实际CPU的百分比

最后两行为内存信息

信息详解
totall物理内在总量
used使用的物理内存总量
free空闲内存总量
buffers用作内核缓存的内存量
total交换区总量
used使用交换区的总量
free空闲区总量
cached缓冲交换区的总量

信息区的信息

信息详解
PID进程ID
USER进程所用着用户名
PR优先级
NInice值。复制表示优先级高
VIRT进程使用虚拟内存总量
RES进程使用的未被唤出的物理内存大小
SHR共享内存大小
S进程状态
%CPUCPU的占有率
%MEM进程使用物理内存百分比
TIME+进程使用CPU的时间总计
COMMAND命令名

| RES | 进程使用的未被唤出的物理内存大小 |
| SHR | 共享内存大小 |
| S | 进程状态 |
| %CPU | CPU的占有率 |
| %MEM | 进程使用物理内存百分比 |
| TIME+ | 进程使用CPU的时间总计 |
| COMMAND | 命令名 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值