linux运维开发之路(六)— 系统进程及服务的控制
一、什么是进程
进程就是系统未完成并且正在进行的工作
二、查看进程
1. 图形方式查看
gnome-system-monitor ## 打开资源管理设备
2. 进程查看命令
ps -A ## 所有进程(以下截图显示部分进程)
ps -a ## 在当前环境中运行的进程,不包含环境信息
ps -u ## 显示进程用户信息
ps a ## 在当前环境中运行的进程,包含环境信息
ps x ## 列出系统中所有运行包含tty输出设备(部分截图)
ps f ## 显示进程的父子关系(ps为/bin/bash的子进程)
ps e ## 显示进程的详细信息(系统资源的调用)
ps组合
ps aux ## 显示系统中所有进程并显示进程用户
ps ef ## 显示进程详细信息并显示进程父子关系
ps ax ## 显示当前系统中的所有进程
3. 显示进程指定信息
ps -o xxx
ps -o comm
ps user
ps group
ps %cpu
ps %mem
ps x | grep firefox
三、进程排序
1. ps ax --sort=
+%cpu | -%cpu ("+"正序排序,"-"倒序排序)
+%mem | -%mem
ps ax --sort=-%cpu -o pid,%cpu | grep pid -v | head -n 5 ## 显示cpu使用率前四的进程的id
2. stat中显示的信息
S ## 进程状态
l ## 内存中有锁定空间
N ## 优先级低
< ## 优先级高
+ ## 前台运行
四、优先级查看
1. ps ax -o pid,nice,comm (优先级部分截图)
2. 指定某个优先级开启进程
nice -n 优先级数字 进程pid
3. 改变进程优先级
renice -n 优先级数字 进程pid
renice -n -5 1702 ## 修改1702进程的优先级为-5
ps a -o pid,nice,comm
4. 环境中进程的前后台调用(vim不可在后台运行,因为没有锁定空间)
jobs ## 查看被打入环境后台的进程(+ - 无符号使用fg的优先级)
ctrl+z ## 把占用终端的进程打入后台
fg jobsnum ## 把后台进程调用到前台
bg jobsnum ## 把后台暂停的进程运行
comm & ## 让命令直接在后台
五、进程信号
常用信号等级
1 ## 进程重新加载配置
2 ## 删除进程在内存中
3
9
15
18
19
20
六、进程的动态监控
1.top
1 显示cpu每个核的负载
s 调整刷新频率
c cpu负载排序
m 内存使用量排序
h 查看帮助
q 退出
注:命令top直接进入,要查看内容,键入上面相应字母即可修改。
u+student 查看student用户进程
k -15 pid 对指定进程发起信号
七、控制服务
1.什么是服务
服务表示后台运行的程序,一般随系统的启动而自动的启动,且在用户logoff后仍然能够继续运行。
2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
systemd ## 系统初始化进程
pstree ## 显示系统初始化进程(部分截图)
4.进程控制命令
systemctl ## 服务控制命令
systemctl status sshd ## 查看服务状态,(inactive|active)
ssh ----> sshd (ssh为客户端,sshd为服务端)
systemctl start(stop) sshd ## 开启或关闭服务
关闭sshd服务,再次查看服务状态,显示inactive(dead),
systemctl restart sshd ## 重启
systemctl reload sshd ## 重新加载服务器配置
systemctl enable sshd ## 设定开机自启动
systemctl disable sshd ## 开机不自启动
systemctl list-units ## 列出系统以开启服务的状态
systemctl list-unit-files ## 列出所有服务开机启动的状态(disable(开机不启动),enable(开机自启动),static(任意),masked(unmasked)冻结)
systemctl list-dependencies ##列出服务的依赖(部分截图)
systemctl set-default multi-user.target ## 设定系统启动级别为多用户模式
systemctl set-default graphical.target ## 设定系统启动级别为图形模式
startx ## 打开图形