全站搜索 公开课 学习资料 未分类

RHCE培训课堂实验-23 指导练习-中断进程

系统技术 136

红帽系统管理1-学员练习册-08监控和管理LINUX进程.pdf—P247

在本练习中,您将使用信号来管理和停止进程。

目标:

您应能够启动和停止多个shell进程。

练习准备工作:

student用户身份并使用student作为密码登录workstation

workstation上,运行lab processes-kill start命令。该命令将运行—个起始脚本,它将确定主机servera是否可从网络访问。


[student@workstation ~]$ lab processes-kill start
 

1workstation上,打开两个终端窗口并将它们并排显示。在本节中,这些终端指代为。在每个终端中,使用ssh命令以student用户身份登录servera


[student@workstation ~]$ ssh student@servera
 

2左窗口中,创建一个名为/home/student/bin的新目录。在新目录中,创建—个名为killingshell脚本。使脚本成为可执行文件。

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,interfaceconnection参数,启动三个killing进程。启动三个进程,分别名为network, interfaceconnection。使用与符号(&)在后台启动进程。


[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技术资料。

上一篇: 下一篇:

相关推荐

展开更多
1
点击联系客服咨询!咨询电话:0756-2180090