Linux十五节课程

发布 2023-05-19 21:48:28 阅读 9243

第十三课linux进程调度。

2023年5月30日**自。

kill命令。

当需要中断一个前台进程的时候,通常是使用组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。该命令可以终止后台进程。至于终止后台进程的原因很多,或许是该进程占用的cpu时间过多;或许是该进程已经挂死。

总之这种情况是经常发生的。

kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为term信号。term信号将终止所有不能捕获该信号的进程。

至于那些可以捕获该信号的进程可能就需要使用kill(9)信号了,该信号是不能**捉的。kill命令的语法格式很简单,大致有以下两种方式:kill [-s信号| -p ] a ]进程号。

kill -l [信号]

s指定需要送出的信号。既可以是信号名也可以对应数字。-p指定kill命令只是显示进程的pid,并不真正送出结束信号。

l显示信号名称列表,这也可以在/usr/include/linux/文件中找到。kill命令的使用。

下面看看该命令的使用。

例24]在执行一条find指令时由于时间过长,决定终止该进程。首先应该使用ps命令来查看该进程对应的pid,键入ps,显示如下:pid tty time command285 1 00:

00:00 -bash287 3 00:00:

00 -bash

289 5 00:00:00 /sbin/mingetty tty5290 6 00:

00:00 /sbin/mingetty tty6312 3 00:00:

00 telnet bbs3341 4 00:00:00 /sbin/mingetty tty4

345 1 00:00:00 find / name 1 00:00:00 ps

可以看到该进程对应的pid是345,现在使用kill命令来终止该进程。键入:# kill 345

再用ps命令查看,就可以看到,find进程已经被杀掉了。[例25]杀掉进程11721

# ps pid tty time command11668 p1 00:00:00 -tcsh11721 p1 00:

00:00 cat11737 p1 00:00:

00 ps# kill 11721[1] terminated cat#

有时候可能会遇到这样的情况,某个进程已经挂死或闲置,使用kill命令却杀不掉。这时候就必须发送信号9,强行关闭此进程。当然这种“野蛮”的方法很可能会导致打开的文件出现错误或者数据丢失之类的错误。

所以不到万不得已不要使用强制结束的办法。如果连信号9都不响应,那恐怕就只有重新启动计算机了。控制多个进程命令。

linux可使用户同时运行多个进程,还允许用户或系统管理员能控制正在运行的进程。nohup命令。

理论上,我们一般退出linux系统时,会把所有的程序全部结束掉,包括那些后台程序。但有时候,例如您正在编辑一个很长的程序,但是您下班或是有事需要先退出系统,这时您又不希望系统把您编辑那么久的程序结束掉,希望退出系统时,程序还能继续执行。这时,我们就可以使用nohup命令使进程在用户退出后仍继续执行。

一般这些进程我们都是让它在后台执行,结果则会写到用户自己的目录下的这个文件里(也可以使用输出重定向,让它输出到一个特定的文件)。[例26] $nohup sort &

这条命令告诉sort命令忽略用户已退出系统,它应该一直运行,直到进程完成。利用这种方法,可以启动一个要运行几天甚至几周的进程,而且在它运行时,用户不需要去登录。nohup命令把一条命令的所有输出和错误信息送到文件中。

若将输出重定向,则只有错误信息放在文件中。renice命令。

renice命令允许用户修改一个正在运行进程的优先权。利用renice命令可以在命令执行时。

调整其优先权。其格式如下:$ renice -number pid

其中,参数number与nice命令的number意义相同。注:

1)用户只能对自己所有的进程使用renice命令。(2)root用户可以在任何进程上使用renice命令。(3)只有root用户才能提高进程的优先权。思考题。

1.什么是进程?进程与作业有何区别?2.进程启动的方式有哪几种?3. at命令与batch命令有何本质区别?

4. cron命令在何时执行?如何改变其执行状态?

5.何谓前台作业、后台作业?如何挂起当前的前台作业?如果要恢复其运行又如何做?6.进程的查看命令有哪些?各有什么不同?7.如何中断一个后台进程?

8.如何在用户退出linux系统时,使一个进程仍然能继续执行?9.如何修改一个作业的优先权?

10.编写和检验完成下列各项功能的命令管道行:(1)显示当前系统中的登录名的数目。

(2)显示当前系统中有多少个进程。11.说明下列管道行分别完成什么功能:

(1)df -a | wc -l(2)who | wc -

第十四课linux磁盘管理。

2023年5月30日**自。

第十四课磁盘管理。

在liunx系统中,如何有效地对存储空间加以使用和管理,是一项非常重要的技术。本章讲述如何查看系统中存储空间的使用情况、如何进行文件的转储、以及如何进行软盘的格式化。磁盘空间管理。

系统软件和应用软件,都要以文件的形式存储在计算机的磁盘空间中。因此,应该随时监视磁盘空间的使用情况。linux系统提供了一组有关磁盘空间管理的命令。df命令。

功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。语法:df [选项]

说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。该命令各个选项的含义如下:

a显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。-k以k字节为单位显示。

i显示i节点信息,而不是磁盘块。

t显示各指定类型的文件系统的磁盘空间使用情况。

x列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。-t显示文件系统类型。

例1:列出各文件系统的磁盘空间使用情况。$ df

filesystem 1 k-blocks used **ailable use% mounted on/dev/hda2 1361587 1246406 44823 97%/

df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。

即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中use%列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,mounted on列表示文件系统的安装点。

例2:列出各文件系统的i节点使用情况。$ df -ia

filesystem inodes iused ifree iused% mounted on/dev/ hda2 352256 75043 277213 21%/

none 0 0 0 0%/proc localhost:(pid221)0 0 0 0%/net

例3:列出文件系统的类型。$ df -t

filesystem type 1k-blocks used **ailable use% mounted on/dev/hda2 ext2 1361587 1246405 44824 97% /本例中的文件系统是ext2类型的。du命令。

du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。功能:统计目录(或文件)所占磁盘空间的大小。语法:du [选项] [names]

说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(节)的情况。若没有给出names,则对当前目录进行统计。该命令的各个选项含义如下:

s对每个names参数只给出占用的数据块总数。

a递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示names中的每一个目录及其中的各子目录所占的磁盘块数。-b以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。

-k以节为单位列出磁盘空间使用情况。-c最后再加上一个总计(系统缺省设置)。

l计算所有的文件大小,对硬链接文件,则计算多次。-x跳过在不同文件系统上的目录不予统计。下面举例说明du命令的使用:

例1:查看/mnt目录占用磁盘空间的情况。

cd /mnt $ ls -lfr total 10 -rwxrwxrwx 2 root root ll0 ju1 3l 00:33 aa*drwxr-xr-x 2 root root l024 ju1 20 14:16 dev/-rw-r--r-- 1 root root 6229 aug 2 0l:

39 s1ackdrwxrwxrwx 2 root root 1024 aug 2 02:09 var/1rwxrwxrwx 1 root root l0 aug 2 0l:51 wei->/home/wei/dev:

tota1 0

lrwxrwxrwx 1 root root 8 ju1 20 l4:l6 cdrom->/dev/hdbvar:

tata1 37

r-xr-xr-x l root root 36064 aug 2 02:09 rawrite. exe*

例2:列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间。$ dul . dev38 . var48 .

输出清单中的第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。

这时可在du命令中加-s选项来取得总数:$ du–s /mnt/mnt

例3:列出所有文件和目录所占的空间(使用a选项),而且以字节为单位(使用b选项)来计算大小。$ du -ab8 ./dev/cdroml032 ./dev

36064 ./var/rawrite. exe37088 .

/var6229 ./s1ack1l0 ./aal0 .

/wei45493 .磁盘操作dd命令。

功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现dos下的diskcopy命令的作用。

先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。

语法:dd [选项]

if =输入文件(或设备名称)。of =输出文件(或设备名称)。

ibs = bytes一次读取bytes字节,即读入缓冲区的字节数。skip = blocks跳过读入缓冲区开头的ibs*blocks块。obs = bytes一次写入bytes字节,即写入缓冲区的字节数。

bs = bytes同时设置读/写缓冲区的字节数(等于设置ibs和obs)。cbs = byte一次转换bytes字节。count=blocks只拷贝输入的blocks块。

conv = ascii把ebcdic码转换为ascil码。conv = ebcdic把ascil码转换为ebcdic码。conv = ibm把ascil码转换为alternate ebcdic码。

conv = block把变动位转换成固定字符。conv = ublock把固定位转换成变动位。conv = ucase把字母由小写转换为大写。

conv = lcase把字母由大写转换为小写。conv = notrunc不截短输出文件。conv = swab交换每一对输入字节。

conv = noerror出错时不停止处理。

conv = sync把每个输入记录的大小都调到ibs的大小(用nul填充)。

例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令:

dd if =/dev/fd0 of = tmp/tmpfile

拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令:$ dd if = tmp/tmpfile of =/dev/fd0软盘拷贝完成后,应该将临时文件删除:$ rm /tmp/tmpfile

例2:把这个文件写入软盘中,并设定读/写缓冲区的数目。(注意:软盘中的内容会被完全覆盖掉)

dd if = of = dev/fd0 bs = 16384例3:将文件sfile拷贝到文件dfile中。$ dd if=sfile of=dfilefdformat命令。

软盘是用户常用的存储介质之一。软盘在使用之前必须先作格式化操作,然后可以用tar、dd、cpio等命令存储数据,也可以在软盘上建立可安装的文件系统。

功能:低级格式化软盘语法:format [-n] device

说明:该命令的作用是对软盘进行格式化。-n软盘格式化后不作检验。

device指定要进行格式化的设备,通常是下述设备之一:/dev/fd0d360/dev/fd0h1200/dev/fd0d360/dev/fd0h360/dev/fd0d720/dev/fd0h720/dev/fd0h360/dev/fd0h720/dev/fd0h1440思考题。

1.显示出你的系统磁盘空间使用情况。

2.显示出你的当前目录下所有文件所占的空间。3.请格式化一张软盘,并把text这个文件写入软盘中。

第二章第五节课时作业

课时作业。一 选择题。1 把函数y f x x 2 2 2的图象向左平移1个单位,再向上平移1个单位,所得图象对应的函数的解析式是 a y x 3 2 3 b y x 3 2 1 c y x 1 2 3 d y x 1 2 1 解析 把函数y f x 的图象向左平移1个单位,即把其中x换成x 1,于...

Linux课程习题Linux作业

作业1 linux系统基础知识 1 1.基础知识部分 必做 1.简述linux内核版本和发布版本的区别,并 举例说明 写出查看当前安装linux的发布版本信息和内核版本信息的具体命令 附上截图 答 linux的发布版本是由内核版本发展而来的。内核就是一个核心,其他软件都基于这个核心,不能直接使用。发...

Linux学习课程

linux学习笔记。安装说明。1 先安装虚拟机 vmware 再装linux 南开大学 软件 2 硬件要求 磁盘要求2g以上,内存 256ms 3 red har linux系统硬件支持列表。4 分区命名方案 dev hd sd y n例如 dev hda3是第一个ide硬盘上的第三个主分区或扩展分...