1. 进程定义
#
进程的定义:
程序是静态的代码文件
进程是指程序运行时的形态
进程是程序的一个副本
进程是有生命周期的(准备期,运行期,终止期)
#
进程
&
线程
进程是资源调用的最小单位
线程是进程的最小单位
程序执行流是从上倒下贯穿运行的
当进程是多任务,
cpu
是多核心,多任务应该同时被每个核心处理,每个核心处理的
任务叫线
程
线程资源是共享的
.
#
进程状态
#R(TAKS_RUNNING) ##
可执行态(
running
,
ready
)
#S(TASK_INTRRUPTABLE) ##
可唤醒休眠
#D(TASK_UNINTRRUPTABLE) ##
不可唤醒休眠
#T(TASK_STOP) ##
暂停状态
#Z(EXIT_ZOMBIE) ##
僵死态
###
2.
进程查看命令
###
gnome
-
system
-
monitor ##
图形进程查看工具
ps
#
进程查看
#ps
命令的三种执行风格
unix bsd GNU
#a
与终端相关的进程
(
当用户登陆系统后产生的进程
都是带终端的
)
#x
与终端无关相关的进程
#u
用户信息归类的查看方式
#f
进程层级关系
#o
显示指定参数
pid comm nice pri pcpu
ppid stat,user,group
#
-
e
显示所有进程
#
-
f
显示信息的完整格式
#
-
H
显示进程的层级结构
#
-
o
显示指定参数
#ps ax
显示信息如下
:
![](https://i-blog.csdnimg.cn/blog_migrate/d1489d6463e39f8196ff0f6dd071b618.png)
#PID
进程
id
#TTY 进程用到的终端
#STAT
进程状态
#TIME
进程占用
cpu
时长
#COMMAND
进程名称
#ps aux
显示信息如下
:
![](https://i-blog.csdnimg.cn/blog_migrate/50d903c776b27f5875b2a8f106d2e380.png)
#USER
进程所有者
#PID
进程
id
#
%CPU
进程使用
cpu
的用量
#
%MEM
进程所用到的内存用量
#VSZ
进程使用的虚拟内存大小
#RSS
进程常驻内存中的数据大小
#TTY
进程用到的终端
#STAT
进程状态
#START
进程运行时长
#TIME
进程占用
cpu
时长
#COMMAND
进程名称
pgrep
#
进程过滤
#-u uid
显示指定用户进程
#-U user
显示指定用户进程
#-t tty
显示指定终端进程
#-l
显示进程名称
#-a
显示进程的完整名称
#-P
下时进程的子进程
pidof vim
##
查看
vim
的
pid
top
##动态进程查看
##top
中的内容显示信息
![](https://i-blog.csdnimg.cn/blog_migrate/10d127a1c74a0df20977dc318b191c96.png)
#22:05:30
系统时间
#up 9:31
运行时长
#1 users
系统中有一个用户登录(当前系统用户数)
#load average: 0.33, 0.14, 0.05
1min 5min 15min
#Tasks:
#319 total
任务总量
#1 running
正在运行
#318 sleeping
休眠人物数量
#0 stopped
被暂停数量
#0 zombie
僵死任务数量
#
#%Cpu(s)
#1.2 us
用户空间
#1.0 sy
内核空间
#0.0 ni nice
值调整时间
#97.7 id
空闲时间
#0.0 wa
等待
io
时间
#0.2 hi
处理硬件中断时间
#0.0 si
处理软件中断时间
#0.0 st
被偷走的时间(
vm虚拟机
使用时间)
#
#MiB Mem
:
#1806.1 total
总量
#94.7 free
空闲
#1120.8 used
占用
#590.6 buff/cache
缓存
#
#MiB Swap:
交换分区用量
#top命令的参数
#-d
指定刷新频率
#-b
以批次方式显示
#-n
指定显示的批次数量
#top内部指令
#P cpu
排序
#M
内存排序
#T
累计展铜
cpu
时间排序
#l
关闭
/
开启
uptime
信息
#t
关闭
/
开启
cpu&task
#s
指定刷新频率
#k
操作进程
#u
查看指定用户进程
3.进程优先级
系统时多任务多用户的操作模式
任务的重要性是有区分的
如何确定任务的重要性
“
优先级
”
范围:
0--139
内核自控优先级范围:
0-99
用户可控优先级:
100-139
nice
-20-19
renice -n -5 43331 ##
更改优先级
nice -n -5 vim & ##
指定优先级打开进程
S #sleeping
< #
优先级高
s #
顶级进程
T #stop
N #
优先级底
R #running
+ #
运行在前台
4.进程前后台调用
<ctrl>+<z> ##
把占用
shell
的进程打入后台挂起
bg ##
把后台挂起的进程运行起来
fg ##
把后台进程调回前台
& ##
运行进程在后台
jobs ##
查看当前
shell
中在后台的所有工作
5.进程信息号
#
进程信号
1 #
重新家在系统配置文件
(source)
2 #
清空内存中的进程数据
3 #
清空内存中的鼠标
(ctrl+\)
9 #
强行结束进程(不能被阻塞)
15 #
正常关闭进程(会被阻塞)
18 #
运行被暂停的进程
19 #
暂停进程(不会被阻塞)
20 #
暂停进程(会被阻塞的)
#
进程信号控制工具
kill
进程信号
pid
kill all
进程信号 进程名字
pkill
进程信号 进程条件
6.systemd守护进程
##
实验环境
#linux.westos.com -------- > 172.25.254.10
#node1.westos.com ----------> 172.25.254.20
#
#
远程操作主机
#ssh
远程主机
ip -l
远程主机用户
#
守护进程
#
替内核分担程序控管的程序
#
通常
pid
为
1
#systemd -----> systemctl
#systemctl
管理系统服务
#
服务指在系统中开启的共享系统资源到网络中的程序
#cs client ------ server
#
#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