Linux中的进程管理

Linux中的进程管理
1.进程定义

  • 进程定义

程序是静态的代码文件
进程是指程序运行时的形态
进程是程序的一个副本
进程是有生命周期的(准备期,运行期,终止期)

  • 进程&线程

进程是资源调用的最小单位
线程是进程额最小单位

程序执行流失从上到下贯穿运行的
当进程是多任务,cpu是多核心,多任务应同时被每个核心处理。每个核心处理的任务叫线程,线程资源是共享的 。

  • 进程状态
R(TASK_RUNNING)可执行状态
S(TASK_INTRRUPTABLE)可唤醒休眠
T(TASK_UNINTRRUPTABLE)暂停状态
Z(EXIT_ZOMBIE)僵死态

2.进程查看命令
在这里插入图片描述

gnome-system-monitor     #图形进程查看工具

  • 图形进程查看

在这里插入图片描述

ps                       #进程查看
                         #三种执行风格 unix bsd GNU
                         #a 与终端相关的进程(当用户登录系统后产生的进程都是带终端的)
                         #x 与终端无关相关的进程
                         #u 用户信息归类的查看方式
                         #f 进程层级关系
                         #o 显示指定参数 pid comm nice pcpu ppod stat user group
                         #
                         #-e 显示所有进程
                         #-f 显示信息的完整格式
                         #-H 显示进程的层级结构
                         #-o 显示指定参数
                         #--sort=
                         #
                         #ps ax显示信息如下:
                         #PID 进程ID
                         #TTY 进程用到的终端
                         #STATA 进程状态
                         #TIME 进程占用cou时长
                         #COMMAND 进程名称

在这里插入图片描述

  • ps-ax

在这里插入图片描述

  • ps aux | less

在这里插入图片描述

  • ps axf

在这里插入图片描述

  • ps uax

在这里插入图片描述

  • ps axo pid,user,group,comm,pri,nice

在这里插入图片描述

  • ps ax --sort=%cpu(正序)

在这里插入图片描述

  • ps ax --sort=-%cpu(倒叙)

在这里插入图片描述

pgrep                    #进程过滤
                         #-u uid 显示指定用户进程
                         #-U user 显示指定用户进程
                         #-t tty 显示指定终端进程
                         #-a 显示进程的完整名称
                         #-p 下时进程的子进程
pidof vim                #查看vim 的pid

在这里插入图片描述

top                      #动态进程查看
                         #top中的内容显示信息
                         #09:48:51 系统时间
                         #up 18:54 运行时长
                         #2 users 系统中有两个用户登录
                         #load average:0.75 0.53 0.41
                         
                         #Tasks:
                         #331 total任务总量
                         #3 running 正在运行 
                         #329 sleeping 休眠人物数量
                         #0 stopped 被暂停数量
                         #0 zombie 僵死人物数量
                         #
                         #%Cpu(s)
                         #1.5 us 用户空间
                         #1.9 sy 内核空间
                         #0.0 ni nice值调整时间
                         #58.9 id 空闲时间 
                         #0.0 wa 等待io时间
                         #2.1 hi 处理硬件中断时间 
                         #0.2 si 处理软件中断时间
                         #0.0 st 被偷走的时间(vm使用的时间)
                         #
                         #MiB Mem:
                         #7664.6 total 总量
                         #5383.9 free 空闲
                         #1312.1 used 占用
                         #968.8 buff/cache 缓存
                         #
                         #MiB Swao: 交换分区用量
                         #
                         #top命令参数
                         #-d 指定刷新频率
                         #-b 以批次方式显示
                         #-n 指定显示的批次数量
                         #
                         #top内部指令
                         #P cpu排序
                         #M 内存排序
                         #T 累计cpu时间排序
                         #l 关闭/开启uptim信息
                         #t 关闭/开启cpu&task
                         #s 指定刷新频率
                         #k 操作进程
                         #u 查看指定用户进程
                         
                         #PID  进程ID
                         #USER 进程所有者的用户名
                         #PR 优先级
                         #NI nice值。负值表示高优先级,正值表示低优先级
                         #VIRT 进程使用的虚拟内存总量,单位:kb。 VIRT=SWAP+RES
                         #RES 进程使用的、违背换出的物理内存大小,单位:kb

在这里插入图片描述
在这里插入图片描述

RES=CODE+DATA
                         #SHR 共享内存大小,单位:kb
                         #S 进程状态(D=不可中断的睡眠状态。R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
                         #%CPU 上次更新到现在的cpu时间占用百分比
                         #%MEN  进程使用的物理内存百分比
                         #TIME+ 进程使用cou的时间总计,单位:1/100秒
                         #COMMAND 命令名/命令行

3.进程优先级
系统时多任务多用户的操作模式
任务的重要性是有区分的
如何确定任务的重要性
优先级
范围:0-139
内核自控优先级范围:0-99
用户可控优先级:100-139

nice
-20-19

renice -n -5 43331     #更改优先级    
nice -n -5 cat         #指定优先级打开进程

ps ax -o pid,nice,comm | grep cat

ps------>pri------>39-0
nice               20-19
priority           0-139(100-139)

S    #sleeping
<    #优先级高
s    #顶级进程
T    #stop
N    #优先级低
R    #running
+    #运行在前台

在这里插入图片描述
在这里插入图片描述

4.进程前后台调用

<ctrl>+<z>    #把占用shell的进程打入后台挂起
bg            #把后台挂起的进程运行起来
fg            #把后台进程调回前台
&             #运行进程在后台
jobs          #查看当前shell中在后台的所有工作

在这里插入图片描述

5.进程信息号

  • 进程信号
1重新加载系统配置文件
2清空内存中的进程数据
3清空内存中的鼠标
9强制结束进程(不能被堵塞)
15正常关闭进程(会被堵塞)
18运行被暂停的进程
19暂停进程(不能被堵塞)
20暂停进程(会被堵塞)

在这里插入图片描述
在这里插入图片描述

  • 进程信号控制工具
kill进程信号pid
killall进程信号进程名字
pkill进程信号进程条件

6.systemd守护进程

  • systemctl命令用法
start       #开启
stop        #关闭
status      #查看状态
reload      #重新加载
restart     #重新启动服务
enable      #设定服务开机启动
enable --now   #设定服务开机启动并当前开启服务
disable        #设定服务开启不启动
list-units     #查看系统所有服务当前状态
list-unit-files   #查看服务开机状态
list-dependencies #列出服务依赖性
mask    #冻结服务
unmask  #解锁
set-default  #设定系统运行模式
             #multi-user.target 无图形网络模式
             #graphical.target 有图形网络模式
get-default  #查看系统运行模式
             #系统运行模式
             #0-6
             #0 POWEROFF
             #1 single
             #2 noG+NETWORK
             #3
             #4
             #5 G+NETWORK
             #6 REBOOT

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.系统中的登录审计

w    #显示正在登录系统的账号
     #-i 显示登陆来源
     #/var/run/utmp
last #登录成功现在已经退出的
     #/var/log/wtmp
lastb  #试图登录但没成功
       #/var/log/btmp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值