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

RHCE培训课堂实验-22 指导练习-控制作业

系统技术 637

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

在本练习中,您将使用作业控制来启动和暂停多个进程,并将它们转到前台或后台。

目标:

您应该能够使用作业控制来暂停和重启用户进程。

练习准备工作:

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

workstation上,运行lab processes-control start命令。此脚本确保servera可用。


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

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


[student@workstation ~]$ ssh student@servera
 

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

2.1 使用mkdir命令,创建一个名为/home/student/bin的新目录。


[student@servera ~]$ mkdir /home/student/bin
 

2.2 使用vim命令,在/home/student/bin目录中创建一个名为control的脚本。要进入Vim交互模式,请按i键。使用:wq命令保存文件。


[student@servera ~]$ vim /home/student/bin/control
 

#在control文件中添加下列内容

#!/bin/bash

while true;do

 echo -n “$@ ” >> ~/control_outfile

 sleep 1

done

注意

control脚本会一直运行到被终止为止。它将每一秒向文件~/control_

outfile附加一次命令行参数。

2.3 使用chmod命令,使control文件变为可执行文件。


[student@servera ~]$ chmod +x /home/student/bin/control
 

3 执行control脚本。该脚本以一秒为间隔,不断将词语”technical“和—个空格附加到文件~/control_outfile中。


[student@servera ~]$ control technical
 

4右终端shell中,使用tail命令及-f选项确认新进程正在写入/home/student/control_outfile文件。


[student@servera ~]$ tail -f ~/control_outfile
 

5左终端shell中,按Ctrl+z来暂停正在运行的进程。shell将返回作业ID并用方括号括起。在右窗口中,确认进程输出已经停止。

6 左终端shell中,查看jobs列表。记住符号表示默认作业。在后台重新启动该作业。在右终端shell中,确认进程输出再次处于活动状态。

6.1 使用jobs命令,查看作业列表。


[student@servera ~]$ jobs
 

6.2 使用bg命令,在后台重新启动control作业。


[student@servera ~]$ bg
 

6.3 使用jobs命令,确认control作业再次处于运行状态。


[student@servera ~]$ jobs
 

6.4 在右终端shell中,确认tail命令正在生成输出。

7左终端shell中,再启动两个control进程, 以便向~/output文件附加内容。使用与符号(&)在后台启动进程。将technical替换为documents, 然后替换为database。替换参数有助于区分这三个进程。


[student@servera ~]$ control documents &

[student@servera ~]$ control database &
 

8左终端shell中,使用jobs命令查看正在运行的三个进程。在右终端shell中,确认所有三个进程都附加内容到文件中。


[student@servera ~]$ jobs
 

9 暂停control technical进程。确认它已被暂停。终止control documents进程,并确认它已被终止。

9.1 在左终端shell中,使用fg命令及作业IDcontrol technical 进程转到前台。按Ctrl+z暂停进程。使用jobs命令确认进程已被暂停。


[student@servera ~]$ fg %1
 

9.2 在右终端shell中,确认control technical进程不再发送输出。

9.3 在左终端shell中, 使用fg命令及作业IDcontrol documents进程转到前台。按Ctrl+c终止进程。使用jobs命令确认进程已被终止。


[student@servera ~]$ fg %2

[student@servera ~]$ jobs
 

9.4 在右终端shell,确认control documents进程不再发送输出。

10左窗口中,使用ps命令及jT选项查看剩余的作业。已暂停作业的状态为T。其他后台作业为睡眠状态(S)。


[student@servera ~]$ ps jT
 

11左窗口中,使用jobs命令查看当前作业。终止control database进程,并确认它已被终止。


[student@servera ~]$ jobs
[student@servera ~]$ fg %3

[student@servera ~]$ jobs
 

注意

使用fg命令及作业IDcontrol database进程转到前台。按Ctrl+c终止进程。使用jobs命令确认进程已被终止。

12右终端shell中,使用Ctrl+c命令来停止tail命令。使用rm命令来删除~/control_outfile文件。


[student@servera ~]$ rm ~/control_outfile
 

13 在两个终端中从servera 注销。


[student@servera ~]$ exit
 

完成

workstation上,运行lab processes-control finish脚本来完成本练习。


[student@workstation ~]$ lab processes-control finish
 

本引导式练习到此结束。

扫码添加教务-杨老师微信号,备注“红帽”,可免费领取实验环境和完整的PDF技术资料。

上一篇: 下一篇:

相关推荐

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