系统进程及服务的控制
1.什么是进程
进程就是cpu及系统未完成并且正在进行的工作
2.查看进程
1)图形方式查看
gnome-system-monitor
2)进程查看命令
ps 显示进程信息
ps -A 所有进程
ps -a 显示shell前台运行命令的进程,但不包括shell本身
ps -u 显示进程用户信息
ps a 显示当前环境中运行的所有程序
ps x 列出系统中所有运行包含tty输出设备的进程
ps f 显示进程的父子关系
ps e 显示进程的详细信息(系统资源的调用)
ps相关命令操作
whatis ps 查看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 cpu正序+|cpu反序- (正序从下往上依次减小)
+%mem|-%mem (反序从下网上依次增大)
ps aux 显示系统中所有进程并显示进程用户:
ps ef 显示进程详细信息并显示进程父子关系:
pstree显示当前系统的进程树:
显示进程指定信息:
例:将cpu进程排序前五的id给显示出来,因为PID标识还要占用一行,所以是head -n 6
3.stat中显示的信息
S进程状态
l内存中有锁定空间
N内存优先级低
<内存优先级高
+前台运行
s顶级进程
3.进程优先级
1.进程的优先级范围
-20~19 数字越小优先级越高
2.优先级查看
ps ax -o pid,nice,comm
3.指定某个优先级开启进程
格式:nice -n 优先级数字 进程名称
例如:nice -n -6 vim & 开启vim并且指定程序优先级为-6
4.改变进程优先级
格式:renice -n 优先级数字 进程pid
例如:renice -n -5 1086 改变1086进程的优先级为-5
优先级查看: ps ax -o pid,nice,comm,stat
4.环境中进程的前后台调用
jobs 查看被打入环境后台的进程
ctrl+z 把占用终端的进程打入后台
fg jobsnum 把后台进程调回前台
bg jobsnum 把后台暂停的进程运行
comm & 让命令直接在后台运行
注意:vim是必须要占用终端的所以不能在后台运行
+表示优先调用,-表示次优先调用
5.进程信号
1.常用信号等级以及kill命令的使用
1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据 或者(ctrl+/)
9 强行结束单个进程(不能被阻塞)
15 正常关闭进程 (可能会被阻塞)
18 运行暂停的进程
19 暂停某一个进程 (不能被阻塞)
20 把进程打入后台 (可以被阻塞)
man 7 signal 查看信号的详细信息
格式:
kill -信号 进程pid
killall -信号 进程名字
pkii -u student -信号(pkill -u student -9 结束student用户开启的进程)
kill -信号 进程pid (kill -2 3017):
man 7 signal 查看信号详细信息:
kill -信号 进程pid
killall -信号 进程名字(相同名称的进程全部处理):
6.进程的动态监控
1.top
1 显示cpu每个核的负载
s 调整刷新频率(1秒刷新一次)
c cpu负载排序
m 内存使用量排序:
h 查看帮助:
u 查看指定用户进程
k 对指定进程发起信号
输入指定用户ip
输入对应信号
q 退出
7.控制服务
-
用什么控制服务
系统初始化进程可以对服务进行相应的控制 -
当前系统初始化进程是什么
systemd 系统初始化进程
pstree 显示系统中的进程树 -
进程控制命令
ssh------------>sshd
client----------> server
客户-------------- 服务systemctl 服务控制命令 systemctl status sshd 查看sshd服务状态,inactive(不可用),active(可用) systemctl start sshd 开启sshd服务 systemctl stop sshd 关闭sshd服务 systemctl restart sshd 重启sshd服务 systemctl reload sshd 重新加载sshd服务配置 systemctl enable sshd 设定sshd服务开机启动 systemctl disable sshd 设定sshd服务开机不启动 systemctl list-units 列出已经开启服务当前状态 systemctl list-unit-files 列出所有服务开机启动的状态 disable,enable,static. systemctl list-dependencies 列出服务的依赖 systemctl set-default multi-user.target 设定系统启动级别为多用户模式(无图形) systemctl set-default graphical.target 设定系统启动级别为图形模式
systemctl status sshd 查看sshd服务状态 : active (running)开启运行中
inactive (dead)服务没有开启
systemctl enable sshd 设定服务开机启动:
systemctl disable sshd 设定服务开机不启动:
systemctl list-unit-files 列出所有服务开机启动的状态:
systemctl list-dependencies 列出服务的依赖
3.服务状态
systemctl status 服务状态
loaded 系统服务已经初始化完成,加载过配置
active(running) 正有一个或多个程序正在系统中执行,
atcive(exited) 仅执行一次正常的服务
atcive(waiting) 正在执行当中
inactive 服务关闭
enbaled 服务开机启动
disabled 服务开机不自启
static 服务开机启动项不可被管理
failed 系统配置错误
这些服务状态在上图我们操作systemctl命令时可以观察到。