RHCE培训课堂实验-5 指导练习-使用命令行工具管理文件
526RCHE关于创建、组织、复制和删除文件与目录
查看全文全站搜索 公开课 学习资料 未分类
红帽系统管理1-学员练习册-08监控和管理LINUX进程.pdf—P247
在本练习中,您将使用信号来管理和停止进程。
目标:
您应能够启动和停止多个shell进程。
练习准备工作:
以student用户身份并使用student作为密码登录workstation。
在workstation上,运行lab processes-kill start命令。该命令将运行—个起始脚本,它将确定主机servera是否可从网络访问。
[student@workstation ~]$ lab processes-kill start
1 在workstation上,打开两个终端窗口并将它们并排显示。在本节中,这些终端指代为左和右。在每个终端中,使用ssh命令以student用户身份登录servera。
[student@workstation ~]$ ssh student@servera
2 在左窗口中,创建一个名为/home/student/bin的新目录。在新目录中,创建—个名为killing的shell脚本。使脚本成为可执行文件。
2.1 使用mkdir命令,创建一个名为/home/student/bin的新目录。
[student@servera ~]$ mkdir /home/student/bin
2.2 使用vim命令,在/home/student/bin目录中创建一个名为killing的脚本。按i键,以进入Vim交互模式。使用:wq命令保存文件。
[student@servera ~]$ vim /home/student/bin/killing
#在killing文件中添加下列内容
#!/bin/bash
while true;do
echo -n “$@ ” >> ~/killing_outfile
sleep 5
done
2.3 使用chmod命令,使killing文件变为可执行文件。
[student@servera ~]$ chmod +x /home/student/bin/killing
3 在左终端shell中,使用cd命令更改到/home/student/bin/目录。分别使用network,interface和connection参数,启动三个killing进程。启动三个进程,分别名为network, interface和connection。使用与符号(&)在后台启动进程。
[student@servera ~]$ cd /home/student/bin
[student@servera bin]$ killing network &
[student@servera bin]$ killing interface &
[student@servera bin]$ killing connection &
注意
您的进程具有不同的PID编号。
4 在右终端shell中,使用tail命令及-f选项确认所有三个进程都附加内容到/home/student/killing_outfile文件中。
[student@servera bin]$ tail -f ~/killing_outfile
5 在左终端shell中,使用jobs命令列出作业。
[student@servera bin]$ jobs
6 使用信号暂停network进程。确认network进程状态为Stopped 。在右终端shell中,确认network进程不再附加输出到~/killing_output。
6.1 使用kill及-SIGSTOP选项来停止network进程。运行jobs以确认它已被停止。
[student@servera bin]$
[student@servera bin]$ jobs
6.2 在右终端shell中,查看来自tail命令的输出。确认词语network不再附加到~/killing_outfile文件。
7 在左终端shell中,使用信号终止interface进程。确认interface进程已经消失。在右终端shell中, 确认interface进程的输出不再附加到~/killing_outfile文件。
7.1 使用kill命令及-SIGSTERM选项来终止interface进程。运行jobs命令确认它已被终止。
[student@servera bin]$ kill -SIGTERM %2
[student@servera bin]$ jobs
7.2 在右终端shell中,查看来自tail命令的输出。确认词语interface不再附加到~/killing_outfile文件。
7.3
8 在左终端shell中,使用信号恢复network进程。确认network进程状态为Running。在右侧窗口中,确认network进程输出正在附加到~/killing_outfile文件。
8.1 使用kill命令及-SIGCONT选项来恢复network进程。使用jobs命令确认该进程的状态为Running。
[student@servera bin]$ kill -SIGCONT %1
[student@servera bin]$ jobs
8.2 在右终端shell中,查看来自tail命令的输出。确认词语network 正在附加到~/killing_outfile文件。
9 在左终端shell中,终止剩余的两个作业。确认没有剩余的作业,输出也巳停止。
9.1 使用kill命令及-SIGTERM选项来终止network进程。使用同样的命令终止connection进程。
[student@servera bin]$ kill -SIGTERM %1
[student@servera bin]$ kill -SIGTERM %3
[student@servera bin]$ jobs
10 在左终端shell中,列出在所有打开的终端shell中运行的tail进程。终止正在运行的tail命令。确认该进程不再运行。
10.1 使用ps命令及-ef选项来列出所有运行中的tail进程。使用grep命令来优化搜索。
[student@servera bin]$ ps -ef | grep tail
10.2 使用pkill命令及-SIGTERM选项来中断tail进程。使用ps确认它已不再存在。
[student@servera bin]$ pkill -SIGTERM tail
[student@servera bin]$ ps -ef | grep tail
10.3 在右终端shell中, 确认tail命令不再运行。
11 从两个终端窗口退出。不从所有会话退出将导致完成脚本运行失败。
[student@servera bin]$ exit
[student@servera ~]$ exit
完成
在workstation上,运行lab processes-kill finish脚本来完成本练习。
[ student@Workstation ~]$ lab processes-kill finish
本引导式练习到此结束。
扫码添加教务-杨老师微信号,备注“红帽”,可免费领取实验环境和完整的PDF技术资料。