该文章主要为完成实训任务,详细实现过程及结果见【参考文章】
参考文章:https://howard2005.blog.csdn.net/article/details/127066383?spm=1001.2014.3001.5502
文章目录
- 一、查看进程
- 1. 进程查看命令 - ps
- 2. Liunx进程状态
- 3. 观察进程变化命令 - top
- 4. 查看进程树命令
- 二、杀死进程 - kill命令
- 1. 命令作用
- 2. 参数说明
- 3. 操作案例演示
- 三、系统资源监控
- 1. free命令
- 2. uname命令
- 3. uptime命令
- 4. netstat命令
- 5. vmstat命令
- 四、任务管理
- 1. 前台进程
- 2. 后台进程
- 3. 操作案例演示
一、查看进程
1. 进程查看命令 - ps
- ps: process status
(1)命令作用在这里插入图片描述
- 将某个时间点的程序运作情况截取下来。
(2)参数说明
(3)操作案例
-
执行命令:
ps la | head -5
,能够观察所有系统的数据
-
执行命令:
ps axjf | head -20
,连同部分程序树状态
-
执行命令:
ps l
仅查看自己的bash相关的进程
-
执行命令:
ps aux
观察系统所有进程
2. Liunx进程状态
3. 观察进程变化命令 - top
(1)参数选项
(2)操作案例演示
- 执行命令:
top -d 3
,每隔三秒更新一次数据
- 执行命令:
top -b -n 2
,进行两次top的输出结果
4. 查看进程树命令
(1)命令概述
- pstree命令用于查看进程树之间的关系,即哪个进程是父进程,哪个是子进程,可以直观地看出是谁创建了谁。Linux 系统中进程之间的关系就是一棵树,树的根就是进程 PID 为 1 的 init 进程。
(2)安装pstree
- 执行命令:
yum -y install psmisc
(3)参数说明
(4)操作案例演示 - 执行命令:
pstree
- 执行命令:
pstree -Aup
二、杀死进程 - kill命令
1. 命令作用
- kill发送信号,并不只是杀进程。
2. 参数说明
3. 操作案例演示
- 执行命令:
pstree -aup | grep sshd
- 用参数-1来杀1275进程,执行命令:
kill -1 1275
- 说明没有杀死sshd进程,又重新加载了
- 用参数-9来杀死这个守护进程sshd,执行命令:kill -9 1275
- 启动firewalld进程并查看其进程树
- 问题:父进程被kill掉,它的子进程是否就一起被kill掉?
- 结论:父进程被kill掉了,但是其子进程还依然存在。
- 如果任务是杀死所有用户的firewalld进程,那么就需要多次发布kill命令,很烦的,怎么办呢?Linux提供了一个很好的命令:killall。
- 利用killall命令杀死所有用户的firwalld进程
三、系统资源监控
1. free命令
- 观察内存(memory)使用情况
2. uname命令
- 查阅系统与核心相关信息
3. uptime命令
- 观察系统启动时间与工作负载
4. netstat命令
- 网络状态监控,CentOS7默认没有安装netstat,需要自行安装
- 执行命令:
yum -y install net-tools
- 执行命令:
netstat -atp
- 执行命令:
netstat -antp
- 执行命令:
netstat -lntp
5. vmstat命令
- 侦测系统资源变化,CPU/内存/磁盘输入输出状态
- 执行命令:
vmstat 1 4
,统计目前主机CPU状态,每秒一次,共计四次
四、任务管理
1. 前台进程
- 可以控制与执行命令的bash环境称为前台进程。
2. 后台进程
- 在操作系统中自行运行,你无法使用[Ctrl + C]终止,可使用bg/fg命令操作的任务。
- 后台执行的任务不能接收终端(terminal/shell)的输入。
3. 操作案例演示
- Ctrl+Z切换到后台,或者执行命令:
tail -F anaconda-ks.cfg &
- 在当前bash执行多个任务
- 观察后台任务,用jobs命令(后台任务是一个任务栈,+表明该任务处于栈顶,发布fg命令,只有处于栈顶的后台任务才能切换成前台任务)
- 执行命令:
jobs -r
# r: Running
- 执行命令:
jobs -s
# s: Stopped
- 执行命令:
jobs -l
,可以显示后台任务进程号
- 三种任务状态:Running, Stopped, Killed
- 执行命令:
pstree -aup
,查看进程树的sshd部分
- 利用fg命令可以将后台任务切换到前台,注意每次发布fg命令,只能将处于任务栈顶的后台任务(编号后是“+”的后台任务)切换到前台进行处理,然后栈顶的下一个任务就成为新的栈顶任务,其编号后的“-”就会变成“+”。
- 发布一次fg命令
- 进入末行模式,输入q,不存盘退出
- 执行命令:
jobs -l
- 现在,执行fg命令之后,2768这个处于栈顶的后台任务会变成前台任务来处理,但是我们暂时不把该任务切换到前台。我们试着杀死该后台任务。
- 停止作业:
kill -15 17788
- 事实表明,删不掉vim作业,应该使用参数-9
- 再次执行命令:fg
- 小结:通过fg命令,可以不断把栈顶的作业从后台变成前台作业来处理。