软件c122郭嵘峥 125448
command >> file
1) 输入命令,显示“Happy Bday”一行字,使用重定向符号截获输出,把它存到叫做bday4me的文件中。使用什么命令?
echo “Happy Bday” >>bday4me
2) 输入命令,显示 一行字,使用双重定向符号,把输出追加到bday4me文件中。查看bday4me文件的内容。其中有什么?
echo “HELLO” >>bday4me (HELLO是自己随便键入的) 3) 输入命令,显示您出生年月的日历 (如果在1985年的6月出生,输入cal 6 1985) ,使用双重定向符号,把输出追加到bday4me文件中。使用什么命令?
cal 06 1989 >>bday4me_ 4) 查看bday4me文件的内容。注意这3个命令的输出在bday4me文件中已经被组合起来了。您是在一周中的哪一天出生的?
周一 2. 使用管道符号
步骤6:把命令的输出导入到另一个命令中。
1) 使用管道元字符,发送ls -l命令的输出,作为more命令的输入 (注意:如果在当前目录中没有太多的文件,使用 /etc目录获取长列表) 。把输出作为more命令的输入的时候,得到什么结果?
输入命令ls –l |more 结果以一屏一次的方式显示在屏幕上 2) 查看使用ls –l | more命令列出来的文件,注意创建或修改的日期。为了查看在同一个月被创建或修改的文件或目录的列表,可以使用grep命令对那个月进行搜索。当月份显示在列表中的时候,指定它 (例如:Oct) 。输入命令ls -1 | grep Oct (或者想查找的月份) 。
结果是什么?
只显示10月的目录_ 3) 目录总是4096字节大小。输入命令ls -1 | grep 4096。产生的列表是什么?
4096字节大小的目录显示 4) 可以使用多个管道连接多个命令。输入取得长文件列表输出的命令,把它输入给tail命令,然后到sort命令。输入的命令是: ls –l|tail|sort 5) ps (进程状态) 命令用于查看Linux系统中运行什么进程。把ps -e命令的输出输入给more命令。-e选项将给出每一个在系统中运行的进程。把输出输入到more命令中的结果是什么?
输入命令_ps –e|more____显示所有系统中运行的程序___ 步骤7:删除在本实验中创建的文件和目录。 步骤8:关闭终端窗口,注销。 可选练习
1. 使用set -o命令不指定任何选项,可以查看noclobber特性是否已经打开。
1) 输入set -o。noclobber特性打开还是关闭的?如果它是关闭的,打开它。使用什么命令?
关闭set –o noclobber 2) 永久的关闭noclobber特性。使用什么命令? set +o noclobber 软件c122郭嵘峥 125448
2. 可以把管道和重定向组合起来使用,达到特殊的效果。输入命令创建一个名为top5.list的文件,内容为主目录中的头5行记录,使用什么命令? ls –l|head –5 >top5.list
3.4 管理Linux系统进程
(实验估计时间:90分钟)
? ? ? ?
? 背景知识 ? 实验目的
? 工具/准备工作 ? 实验内容与步骤
背景知识
在本实验中,我们将使用Linux命令工作,来标识和控制系统进程。Linux操作系统使用进程管理作业,进程由系统或者用户初始化。用户在Linux环境下执行的作业大多数都会启动一个进程。进程可以启动或者派生一个子进程,这样创建了一个进程层次结构或者进程树,类似于具有父子关系的文件系统层次结构。
可以使用ps (进程状态) 命令工作,监控系统进程,使用kill命令终止不想要的进程。 实验目的
1) 回顾系统进程的概念,加深对Linux / UNIX进程管理的理解。 2) 回顾ps命令和选项。 3) 列出当前shell中的进程。
4) 列出运行在系统中的所有进程。 5) 根据命令名搜索特定的进程。 6) 确定一个进程,终止它。 7) 使用kill命令终止进程。 8) 根据用户查找和终止进程。 9) 根据命令名终止进程。 工具/准备工作
在开始本实验之前,请回顾教科书的相关内容。 您需要做以下准备:
1) 由指导老师分配的登录用户 ID (如user2) 和口令。 2) 一台运行Red Hat Linux操作系统的计算机。 实验内容与步骤
步骤1:登录进入GNOME。
在Linux登录框中填写指导老师分配的用户名和口令,登录Linux系统。 步骤2:访问命令行。
单击红帽子,在“GNOME帮助”菜单中单击“系统工具”-“终端”命令,打开“终
软件c122郭嵘峥 125448
端”窗口。
步骤3:回顾系统进程概念。
每个运行的程序都会创建一个进程,进程分配到一个唯一的进程标识符 (PID) 。PID被系统用于标识和跟踪进程,直到进程结束。操作系统内核管理所有进程的初始化和终止。每一个进程都要求系统资源 (例如CPU时间和RAM空间) 在其中工作。当进程启动的时候,操作系统把系统资源分配给每个进程,当进程终止的时候,系统回收这些资源。在Linux系统启动的时候,首先启动的两个进程是sched (调度) 和init (初始化) ,它们管理着其他进程。Linux系统中有几种不同类型的进程:
守护进程:由Linux内核启动的进程,为了特定目的而存在。例如,lpsched守护进程存在只是为了处理打印作业。
父进程:派生其他进程的进程是父进程。一个叫做init的守护进程是第一个调用的进程。每一个进程,除了init之外,都有一个父进程。
子进程:由其他进程派生出来的进程叫做子进程。
孤儿进程:在进程返回输出之前,它的父进程结束了,这样的进程叫做孤儿进程。 僵进程:子进程没有带着输出返回给父进程。这样的进程在系统中变成丢失的进程。 使用此前的信息,完成以下填空:
1) Linux系统中,几乎每一个启动的进程,都会由内核分配一个唯一的PID 进程标识符,用于跟踪从进程启动到进程结束。
2) 当启动新进程的时候,内核也给它们分配系统资源,如 CPU时间和RAM空间 。
3) 永远不向父进程返回输出的进程叫做 僵进程 。 4) 由父进程派生出来的进程叫做 子进程 。 5) 父进程 是一个派生另一个进程的进程。
6) 运行用于提供服务的Linux系统进程是 守护进程 。 7) 如果父进程在子进程之前结束,它创建了一个 孤儿进程 。 步骤4:回顾ps命令和信息。
ps命令用于列出当前系统中运行的进程。
如果一个进程耗时太长,或者看上去好像已经终止了,表现为一个终端窗口不再响应或挂起,通常需要使用ps查看系统中的进程。通过列出进程,可以查看初始化进程的命令或程序的名字,以及所有它派生出来的子进程。通过多次执行ps命令,查看进程的时间——进程占用的CPU时间,可以检查一个进程是否还在运行。如果时间小再增长,那么进程可能已经终止了。如果进程占用太长的时间或者已经停止,可以使用ps命令检查进程的进程ID (PID) ,然后杀死进程。
ps命令的输出将显示PID号和与其相关的命令或程序。PID号通常用于终止一个进程。ps命令 ( ps [-options] ) 的3个主要选项如下表所示。
表3-5 ps命令选项
ps选项 Ps 意义 无选项 功能 显示当前shell或终端窗口中,当前用户的进程信息 软件c122郭嵘峥 125448
ps –e ps –f ps -u userid
基本的ps命令显示在当前shell中的进程信息,用户只能够查看在这个终端窗口中初始化的进程。输入ps命令,将结果填入表3-6中。
表3-6 实验记录
PID 4848 4493
从当前终端窗口中,练习使用给出的每个选项的ps命令。
输入 ps -f 命令,显示运行在系统中的某个进程的完全信息,填入表3-7中。
表3-7 实验记录
UID student student ps -f命令输出的各栏标题见表3-8所示。
表3-8 ps -f栏标题
值 UID PID PPID C STIME TTY TIME 初始化进程的用户ID 进程的进程标识号。PID可以用来杀死进程 进程的父进程标识号 进程的优先级 进程的启动时间 控制进程终端的终端举型 进程使用的CPU时间的数量 描述 PID 4848 4901 PPID 4846 4848 C 0 0 STIME 08:30 08:49 TTY pts/0 pts/0 TIME 00:00:00 00:00:00 CMD bash ps -f pts/0 pts/0 TTY TIME 00:00:00 00:00:00 bash ps CMD 每一个 完全 用户 显示系统中每一个进程的信息 产生一个完全列表,给出每个进程的所有可用信息 显示特定用户的所有进程 软件c122郭嵘峥 125448
CMD
步骤5:列出系统中运行的所有进程。
输入 ps -ef 命令,显示运行在系统中的各个进程的完全信息。执行该命令,并与ps –f命令的输出结果对照,一致吗?有何不同
不一致,用户类型增加了。 注意分析当前终端窗口中的输出结果: a. 显示了多少个进程?
61 b. 进程ID的PID是什么?
进程的进程标识号。PID可以用来杀死进程 c. 启动进程的命令 (CMD) 是什么?
命令名守护进程 (执行的程序的名字) d. 请观察,什么命令的PID号是1? root
e. 再次运行ps –ef命令,计算进程的数目: 61
然后执行下列命令:把输出结果输入到wc命令中
新建一个文件home/student/zhang – gedit,里面放入ps -ef命令的输出结果。然命令名守护进程 (执行的程序的名字) 后用wc zhang命令打开。 第一个数字显示的是行的数目,也是进程的数目: 61 执行 man ps命令,可以打开Linux用户命令手册,了解ps命令的用法,输入wq命令可退出用户手册的阅读。man命令可以执行吗?结果如何?
不可以,提示:没有那个文件或目录。 步骤6:根据命令名搜索特定的进程。
为了终止一个进程,必须找到该进程的PID。大多数运行的系统中,有上百个进程在运行,ps -ef的列表可能很长。如果知道启动进程的执行程序的名字,可以更快地找到PID。
通过把ps命令的输出结果输入到grep中,可以搜索想要终止的特定进程,确定正确的PID。
grep命令可以在其他命令的输出中搜索所有类型的特征字符串。-l (长的输出) 选项将显示和找到的PID相关的进程的名字;-e选项显示PID和初始化命令的名字。
a. 单击红帽子,在“GNOME帮助”菜单中单击“游戏”-“堆麻将”命令,打开“堆麻将”游戏。