系统进程及服务的控制
什么是进程
进程就是系统未完成并且正在进行的工作
进程状态
R(Running):该程序正在运行中;
S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。
D:不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。
T:停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态。
Z:(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。
查看进程
1)图形方式查看
gnome-system-monitor
2).进程查看命令
ps -A ##所有进程
-a ##在当前环境中运行的进程,不包含环境信息
-u ##显示进程用户信息
a ##在当前环境中运行的进程
x ##列出系统中所有运行包含tty输出设备
f ##显示进程的父子关系
e ##显示进程的详细信息(系统资源的调用)
## ps常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统中的所有进程
pstree ##显示当前系统的进程树
## 显示进程指定信息
ps -o xxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先级
## 进程排序
ps ax --sort=
+%cpu|-%cpu
+%mem|-%mem
+代表正叙,从上到下越来越大
ps -A
ps -a
ps -u
ps a
ps x
ps f
ps e
ps aux
ps ef
ps ax
pstree
ps ax --sort=-%cpu
测试:
抓取系统中内存使用量在前5的进程的PID
ps ax -o pid --sort=%mem | tail -5
stat中显示的信息
S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程
进程优先级
进程的优先级范围
-20~19
数字越小,优先级越高
优先级查看
ps ax -o pid,nice,comm
查看所有进程的pid,优先级和程序名称
指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n -5 gedit & ##在后台开启gedit并且指定程序优先级为-5
改变进程优先级
renice -n 优先级数字 进程pid
renice -n 5 4522 ##改变2860进程的优先级为5
环境中进程的前后台调用
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台,jobsnum表示工作号
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
进程信号常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据(ctrl+\)
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程(可能会被阻塞,比如shell)
18 ##运行暂停的进程
19 ##把进程打入后台(不能被阻塞)
20 ##把进程打入后台(可以被阻塞)
man 7 signal ##查看信号详细信息
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
进程的动态监控
top
1 ##显示cpu每个核的负载
s ##调整刷新频率
c ##CPU负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出
控制服务
什么是服务
cs模型
c表示client
s表示server
vnc为例
c ----tigervnc viewer
s ----vncserver
定义: 系统中运行的对于系统本身没有意义
但是对客户主机有重大意义的程序叫做服务性软件,简称服务
用什么控制服务
系统初始化进程可以对服务进行相应的控制
当前系统初始化进程是什么
systemd ##系统初始化进程
pstree ##显示系统中的进程树
进程控制命令
ssh --------->sshd
client server
systemctl ##服务控制命令
systemctl status sshd ##查看服务状态,inactive(不可用),active(可用)
systemctl start sshd ##开启服务
systemctl stop sshd ##关闭服务
systemctl restart sshd ##重启服务
systemctl reload sshd ##重新加载服务配置
systemctl enable sshd ##设定服务开机启动
systemctl disable sshd ##设定服务开机不启动
systemctl list-units ##列出已经开启服务当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态 disable,enable,static
systemctk list-dependencies ##列出服务的倚赖
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target ##设定系统启动级别为图形模式
systemctl mask
systemctl unmask