linux中的进程管理
1.进程定义进程的定义:进程&线程进程状态2.进程查看命令ps #进程查看ps ax显示信息如下:ps aux显示信息如下:pgrep #进程过滤pidof vim 查看vim的pidtop 动态进程查看top中的内容显示信息top命令的参数top内部指令3.进程优先级4.进程前后台调用5.进程信息号进程信号进程信号控制工具6.systemd守护进程远程操作主机守护进程systemctl命令的用法7.系统中的登陆审计
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显示指定参数–sort=排序–sort=%mem正序–sort=-%mem倒序
查找系统排行占用内存前五的进程id
ps ax显示信息如下:
PID进程id
TTY进程用到的终端STAT进程状态TIME进程占用cpu时长COMMAND进程名称
ps aux显示信息如下:
USER进程所有人
PID进程id%CPU进程使用cpu的用量%MEM进程所用到的内存用量VSZ进程使用的虚拟内存大小RSS进程常驻内存中的数据大小TTY进程用到的终端STAT进程状态START进程运行时长TIME进程占用cpu时长COMMAND进程名称
pgrep #进程过滤
-u uid显示指定用户进程
-U user显示指定用户进程-t tty显示指定终端进程-l显示进程名称-a显示进程的完整名称-P下时进程的子进程
pid -u 1000
[root
@lzy Desktop
]# pgrep
-U westos
25743
[root
@lzy Desktop
]# pgrep
-t pts
/1
25158
25742
25743
25819
pgrep -P
pidof vim 查看vim的pid
可以查看服务是否开启 开启时 未开启时
top 动态进程查看
top命令可以真实查看进程状况,具有实时显示功能,默认3s刷新一次
top中的内容显示信息
#
09:08:52 系统时间
up
4:40运行时长
1 users 系统中有两个用户登陆
load average
: 0.75, 0.53, 0.41
1min
5min
15min
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 Swap: 交换分区用量
top命令的参数
-d 指定刷新频率
-b 以批次方式显示
-n 指定显示的批次数量
top -d 1 每一秒刷新一次
top内部指令
Pcpu排序
M内存排序T累计cpu时间排序l关闭/开启uptime信息t关闭/开启cpu&tasks指定刷新频率(默认每三秒刷新一次)k操作进程u查看指定用户进程
p cpu排序 按P
3.进程优先级
系统时多任务多用户的操作模式 任务的重要性是有区分的 如何确定任务的重要性 “优先级” linux
范围:
0--139
内核自控优先级范围:
0-99
用户可控优先级:
100-139
nice -20-19 nice值越小,优先级越高
renice -n -5 25330##更改优先级(在进程打开的时候进行修改) ps ax -o pid,comm,pri,nice (pri不是linux的)
nice -n -5 vim &##指定优先级打开进程
Ssleeping
<#优先级高s#顶级进程T#stopN#优先级底R#running+#运行在前台
4.进程前后台调用
<ctrl>+<z>把占用shell的进程打入后台挂起
bg把后台挂起的进程运行起来fg把后台进程调回前台&运行进程在后台jobs查看当前shell中在后台的所有工作
如图,进程占用shell的前台,无法再进行别的命令的输入,除非ctrl+c结束进程 ,进程前后台的调用,可以让进程不用结束,同时进行别的工作 <ctrl>+<z>把占用shell的进程打入后台挂起 bg把后台挂起的进程运行起来
fg把后台进程调回前台
ctrl+c 结束进程 把进程fg调回前台,ctrl+c结束掉
5.进程信息号
进程信号
1重新家在系统配置文件(source)
2清空内存中的进程数据(crtl+c)3清空内存中的鼠标(ctrl+)9强行结束进程(不能被阻塞)15正常关闭进程(会被阻塞)18运行被暂停的进程19暂停进程(不会被阻塞) 强制20暂停进程(会被阻塞的)
进程信号控制工具
kill 进程信号 pid killall 进程信号 进程名字 pkill 进程信号 进程条件 保证浏览器一直被正常访问,修改配置文件之后,重启的方式不可取kill -1
____________________________________________________________ pkill -9 -u root
6.systemd守护进程
远程操作主机
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-60POWEROFF1single2noG+NETWORK345G+NETWORK6REBOOT
[root
@lzy Desktop
]# runlevel
N
5
[root
@lzy Desktop
]# systemctl get
-default
graphical
.target 图形模式
[root
@lzy Desktop
]# systemctl set
-default multi
-user
.target
Removed
/etc
/systemd
/system
/default.target
.
Created symlink
/etc
/systemd
/system
/default.target →
/usr
/lib
/systemd
/system
/multi
-user
.target
.
在非图形界面打开图形界面startx和init 5的区别 在非图形界面登录后,init 5 init 5 runlevel显示的区别 runlever N 3 5 startx runlever N 3
7.系统中的登陆审计
w ##显示正在登陆系统的账号 ## -i 显示登陆来源 #/var/run/utmp
last ##登陆成功现在已经退出的 ##/var/log/wtmp
lastb ##试图登陆但未成功 ##/var/log/btmp