Linux中的进程管理

一、进程和线程

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

1、进程定义
#程序是静态的代码文件;
#进程是指程序运行时的形态;
#进程是程序的一个副本;
#进程是有生命周期的(准备期,运行期,终止期);
#进程是资源调用的最小单位

2、线程定义
#线程是进程的最小单位

3.进程状态

进程状态表示含义
R(TASK_RUNNING)可执行态(running,ready)
S(TASK_INTRRUPTABLE)可唤醒休眠
D(TASK_UNINTRRUPABLE)不可唤醒休眠
T(TASK_STOP)暂停状态
Z(EXIT_ZOMBIE)僵死态

二、进程查看

1、鼠标查找
在这里插入图片描述
2、命令查看

  • gnome-system-monitor                                                      ##图形进程查看工具 在这里插入图片描述
  • ps                                                      ##进程查看
    ##ps 命令含有三种风格,分别是UNIX,BSD,GUN。可以使用man ps命令查看:
    v
     命令      作用
ps a查看与终端相关的进程(当用户登录系统后产生的进程都是带终端的)
ps x与终端无关的进程
ps u用户信息递归的查看方式
ps f显示进程的层级关系
ps o显示指定参数(user(用户),pid(pid号),tty(终端),comm(进程命令),nice(nice号),stat(状态),pri(优先级),%cpu(cpu的使用),ppid(父进程的pid)
ps -e显示所有进程
ps -f显示信息的完整格式
ps -H显示进程的层级结构
ps -o显示指定参数
ps - -sort按照指定的条件进行排序 %cpu 或 %mem 等,只能排序一个参数
  • ps ax显示信息如下
    在这里插入图片描述
参数含义
PID进程id
TTY进程用到的终端
STAT进程状态
TITME进程占用cpu时长
CIOMMAND进程名称
  • ps aux显示信息如下
    在这里插入图片描述
参数含义
USER进程所有人
PID进程id号
%CPU进程使用CPU的用量
%MEM进程所用到的内存用量
VSZ进程所用虚拟内存大小
RSS进程常驻内存中的数据大小
TTY进程所用到的终端
STAT进程状态
START进程运行时长
TIME进程占用cpu所用时长
COMMAND进程名称
  • pgrep                                                      ##进程过滤
命令作用
pgrep -u uid显示指定用户进程
pgrep -U USER显示指定用户进程
pgrep -t tty显示指定终端进程
pgrep -l显示进程名称
pgrep -a显示进程完整名称
pgrep -P pid显示该进程下的子进程id

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

  • pidof vim                                                      ##查看vim的pid
    在这里插入图片描述
  • top                                                       ##动态进程查看

在这里插入图片描述
以上top查询到的参数说明:

参数含义
17:59:13系统时间
up 8:39运行时长
1 user系统用户数量为1个
load average 0.09,0.27,0.20三个数分别代表不同时间段的系统平均负载(1min、5min、以及10min)
320 total任务总量
3 running正在运行的个数为3
317 sleeping休眠进程的数量为4
0 stopped被暂停进程数量为0
0 zombie僵死进程的数量为0
%Cpu(s)cpu占用情况
5.4us用户空间
1.3sy系统空间
0.0nice值调整时间
92.6id空闲时间
0.0wa等待io时间
0.3hi处理硬件中断时间
0.3si出路软件中断时间
0.0st被偷走的时间(vm使用时间)
MiB Mem 1800.6内存分区的总量
115.3 free内存分区的空闲
1283.8 used被占用的总量
401.6 buff/cache缓存
MiB Swap交换分区用量(后面的参数与内存分区的表示是一样的)
PID进程id
USER进程所有者的用户名
PR优先级
NInice值。负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR共享内存大小,单位kb
S进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
%CPU上次更新到现在的CPU时间占用百分比
%MEM进程使用的物理内存百分比
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND命令名/命令行

##top命令执行后的内部参数

命令作用
PCPU排序
M内存排序
T累计占用cpu时间排序
l关闭/开启uptime信息
t关闭/开启cpu&task
s指定刷新频率
k操作进程
u查看指定用户进程
  • top -d 数字                                                      ##指定刷新频率(默认刷新频率是3秒)
    在这里插入图片描述

  • top -b                                                       ##以批次方式显示

  • top -n 数字                                                       ##表示以指定显示的批次数量显示
    在这里插入图片描述

三、进程优先级

系统是多任务多用的操作模式,任务的重要性是有区分的,通过优先级来确定任务的重要性
“优先级”(PRI越小,优先级优先级就越高)
优先级的范围 :0-139
内核自控优先级范围:0-99
用户可控优先级:100-139

nice数优先级的范围:-20~19

  • renice -n nice pid                                                       ## 更改指定进程的优先级

在这里插入图片描述

  • nice -n nice pid                                                       ## 以指定优先级打开进程
    在这里插入图片描述
    进程优先级的三种表示分别为pri、nice、priority,三种表示相互对应:
表示方法数字等级
ps–>pri39-0
nice20-19
priority0-139(用户可更改的为100-139)

进程的状态显示:

显示字母代表含义
Ssleeping
<优先级高
s顶级进程
Tstop进程
N优先级低
R正在运行的进程
+运行在前台

四、进程的后台调用

  • <  ctrl  >+<  z  >                                                      ## 把占用shell的进程打入后台挂起(进入后台后,不可以对后台的进程进行操作)
    在这里插入图片描述

  • bg                                                       ## 把后台挂起的程序运行起来(可以对进程进行操作)

  • fg                                                       ##把后台进程调回前台
    在这里插入图片描述

  • &                                                       ##将进程打入后台运行(可以对后台的进程进行操作)

在这里插入图片描述

  • jobs                                                       ##查看当前shell中在后台的所有进程
    在这里插入图片描述

五、进程信息号

1、进程信号

进程信号数字含义
1重新加载在系统配置文件(source)
2清空内存中的进程数据
3清空内存中的鼠标(ctrl+\)
9强行结束进程(不能被阻塞)
15正常关闭进程(可能会被阻塞)
18运行被暂停的进程
19暂停进程(不会被阻塞)
20暂停进程(会被阻塞)

2、进程信号控制工具

  • kill -进程信号 pid                                                      ##对进程号为pid的进程进行相应的进程操作

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

  • killall -进程信号 进程名字                                                      ##对同一类的进程进行操作
    在这里插入图片描述
    在这里插入图片描述
    pkill -进程信号 进程条件                                                      ##对某一进程条件进行操作

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

六、systemd守护进程

systemdctl命令的用法:

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

七、系统中的审计登录

  • w                                                      ##显示正在登录的系统账号( /var/run/utmp)
    在这里插入图片描述

  • w -i                                                       ##显示登录来源
    在这里插入图片描述

  • last                                                      ##登陆成功现在已经退出的(/var/log/wtmp)
    在这里插入图片描述

  • lastb                                                      ##试图登录但未成功(/var/log/btmp)
    在这里插入图片描述

  • puttyt                                                      ##登录失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值