liunx 第四章进程管理

进程管理

进程是已经启动的可执行程序的运行实例,是程序运行的过程,进程有以下部分组成:1:已分配内存的地址空间;2:安全属性,包括所有权凭证和特权;3:程序代码的一个或者多个执行线程;4:进程状态

使用ps aux 命令静态的查看进程

[root@localhost ~]# ps aux | head -2
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.6 128096 6708 ? Ss 16:20 0:01 /usr/lib/systemd/systemd
USER:运行进程的用户
PID:进程ID
%CPU:CPU占用率
%MEM:内存占用率
VSZ: 占用虚拟内存
RSS:占用实际内存
TTY:进程运行的终端
STAT:进程状态,常见状态有:R运行,S睡眠,T停止的进程,Z僵尸进程,X死掉的进程
START:进程的启动时间
TIME:进程占用CPU的时间,单位为秒
COMMAND:进程文件,进程名

自定义查看字段

自定义查看字段的命令是:ps axo 字段,字段,字段,字段;如下图所示
在这里插入图片描述

进程排序

进程排序的命令是:ps aux --sort %mem;这是升序排序,降序排序是ps aux --sort -%mem; 下图是按照%mem降序排序并只查看前五行的命令

使用top动态查看进程

在liunx中动态查看进程的命令是:top 使用top查看进程默认每三秒进行一次刷新,输入top后会出现如下图所示的情况
在这里插入图片描述第一行:top(程序名) - 19:10:03(系统时间) up 9:36(总运行时间), 4 users(登录用户数), load average(cpu负载): 0.00(1分钟), 0.01(5分钟), 0.05(15分钟)
第二行:Tasks: 169 total(总进程数), 1 running(运行数1), 167 sleeping(睡眠数175), 1 stopped(1停止数), 0 zombie(僵死数0)
第三行:%Cpu(s)(cpu使用占比): 0.3 us(user用户), 0.0 sy(systemd系统), 0.0 ni(nice优先级),99.7 id(idle空闲), 0.0 wa(wait等待), 0.0 hi(hi硬件), 0.0 si(si软件), 0.0 st(st虚拟机)
第四行:KiB Mem(物理内存,单位k) : 995748 total(total总共1G), 117772 free(空闲0.1G), 493228 used(使用0.5G), 384748 buff/cache(下次可用的空间0.3G)
第五行:KiB Swap(交换分区): 2097148 total(总共2G), 2097148 free(空闲2G), 0 used(used使用为0). 331404 avail Mem (下次可用的内存为0.3G)
下面这一行,PID,USER,%CPU,%MEM略,
VIRT:虚拟内存,需要这些内存,但并没有占满。
RES:常驻内存,用了多少内存
SHR:共享内存,共享内存大小公式:RES – SHR
top常用内部指令:
h或者?帮助
M 按内存的使用排序
P 按CPU使用排序
N 以PID的大小排序

向后 < 向前
z 彩色,Z设置彩色,使用数字调整

进程优先级nice

上面有一个自定义静态查看进程,也可以查看nice,例如
ps axo pid,command,nice
top -p pid 可以查看动态的查看指定pid的详细动态信息,包含nice和pr
nice的特性,nice值越大:表示优先级越小,例如+19
nice值越小:表示优先级越大,例如-20,nice最大为19,最小为-20,nice在转换为pr时需要加20.
默认情况下,启动进程时,通常会继承父进程的 nice级别,默认为0。
创建程序时时手动设置nice的方法:nice -n nice值(-20到19) 程序(sleep 6000)
在这里插入图片描述
更改现有进程nice级别的方法是:renice nice值 pid
在这里插入图片描述

使用信号控制进程kill

信号种类主要有:1) SIGHUP 重新加载配置
2) SIGINT 键盘中断Ctrl+C
3) SIGQUIT 键盘退出Ctrl+\,类似SIGINT
9) SIGKILL 强制终止,无条件
15) SIGTERM 终止(正常结束),缺省信号
18) SIGCONT 继续
19) SIGSTOP 暂停
20)SIGTSTP 键盘暂停Ctrl+Z
下面我用kill -9强制终止来做一个测试
在这里插入图片描述

作业控制jobs

作业控制是一个命令行功能,也叫后台运行。
fg:前台进程:是指在终端中运行的命令,占领终端。运行一个程序,当前终端无法输入。观察占领前台的现象,大部分命令行输入已经无效。此时可以用ctrl + c 终止进程;
bg:后台进程:没有控制终端,它不需要终端的交互。看不见,但是其仍然在运行。
查看后台程序:jobs
调动后台程序到前台:fg 作业号;
消灭后台进程:kill %作业号
如下图示例
在这里插入图片描述

虚拟文件系统 proc (了解)

虚拟文件系统:采集服务器自身 内核、进程运行的状态信息,比如CPU信息在/proc/cpuinfo文件中,内存信息在/proc/meminfo等等,每创建一个进程,相应的这里就会创建一个以该进程pid命名的文件夹,当进程被杀死时,该文件夹就会别删除,可以使用cat查看cpu信息。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值