安全linux网络嵌入架构工程师培训班第九课之liux下进程的管理_第1页
安全linux网络嵌入架构工程师培训班第九课之liux下进程的管理_第2页
安全linux网络嵌入架构工程师培训班第九课之liux下进程的管理_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux 网络嵌入架构工程师培训班 第九课1、介绍:Linux 操作系统是一个多用户多任务的操作系统,为实现当前系统运行多个任务,Linux 提供了多进程管理方式。本节主要介绍 Linux 操作系统下进程的基本概念,同时介绍进程跳转流程以及进程管理的基本方式。2、说明:系统所有的任务在内核的调度下由CPU 执行,Linux 在很多时候将任务和进程的概念合在一起(即将任务和进程作为一个概念)。进程管理是 Linux 文件系统,管理,设备管理和驱动程序的基础。进程是一个动态的使用系统资源,处于活动状态的应用程序。进程和程序的区别如下所示。(1)程序是静态概念,本身可以作为一种资源长期保存;进程是

2、程序执行过程,是动态的概念,有一定的生命期,是动态地产生和消亡的,如果进程执行结束,就不再存在于系统。(2)进程是一个独立运行的个独立运行的,能与其他进程并发执行,进程作为资源申请调度存在,而通常的程序段不能作为一(3)程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有顺序地执行若干个程序。进程不能脱离具体程序,程序规定了相应进程所要完成的动作。Linux 操作系旦启动,系统就开始运行不同的进程来完成相应的操作。在系统运行时,CPU 的控制权将在所有这些进程之间跳转,因为 CPU 运行速度快,所以终端用户会感觉是多个进程在并行执行。系统 init 进程是所有进程

3、的发起者和控制者,是第 1 个运行的进程,所以 init 进程的(Pros ID,)是 1。Init 用于终结父进程,如果 init 出现了问题,系统将会.因为 init 进程不会被终止,所以系统总是可以确信它的存在,并在必要的时候以它为参照。因此,要创建新进程,系统将调用 fork()函数来生成子进程,从而形成 Linux 系统中运行的所有其他进程,在 Linux 操作系统中,父进程念如下所示。进程概(1)(2)(3)子进程是由另外一个进程所产生的进程,产生这个子进程的进程称为父进程。子进程是继承某些父进程的环境,但子进程作为独立的进程有它自己的运行环境。在 Linux 系统中,系统调用 f

4、ork()函数创建进程,fork()函数的内容包括父进程的上下文环境。为了标识一个进程,Linux 操作系统使用 PCB 进程控制块来有效地管理一个进程,一个进程主要有如下几个主要参数。唯一标识某一个进程P创建当前进程的上一个进程,Linux 新的进程都是由现有的进程创建的,因此,将创建当前进程的上一个进程,Linux新的进程都是由现有的进程创建的,因此,将创建当前进程的进程称为当前进程的父亲进程.who 命令该命令主要用于查看当前上的用户情况。这个命令非常有用。如果用户想和其他用户建立即时通讯,比如使用 talk 命令,那么首先要确定的就是该用户确实上,不然 talk 进程就无法建立起来。又

5、如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用 who 命令。who 命令的常用语法格式如下:who imqsuwHT -count -idle-heading -help -message-mesg -ver -writable file am i所有的选项都是可选的,也就是说可以单独使用 who 命令。不使用任何选项时,who 命令将显示以下三项内容:login name:登录用户名;terminal line:使用终端设备;logime:登录到系统的时间。如果给出的是两个非选项参数,那么 who 命令将只显示运行 who 程序的用户名、登录终端和登录时间。通常这两个参数

6、是“am i”,即该命令格式为:“who am i”。下面对 who 命令的常用参数进行说明。-m 和“who am i”的作用一样,显示运行该程序的用户名。-q,-count 只显示用户的登录帐号和登录用户的数量,该选项优先级高于其他任何选项。-s 忽略。主要是用于和其他版本的 who 命令兼容。-i,-u,-idle 在登录时间后面显示该用户最后一次对系统进行操作至今的时间,也就是常说的“发呆”时间。其中“.”符号代表该用户1 秒仍然处于活动状态;“old”则表示该用户空闲已经超过了 24 小时。-w,-T-mesg,-message,-writable 和-s 选项一样,在登录帐号后面显

7、示一个字符来表示用户的信息状态:+:允许写信息;-:不允许写信息;?:不能找到终端设备。-help 在标准输出上显示帮助信息。-ver在标准输出上显示版本信息。下面介绍 who 命令的一些基本用法。如果需要查看在系统上究竟有哪些用户,可以直接使用 who 命令。查看登录到系统的用户情况$ whoroot tty1 Mar 17 13:49foxy tty2 Mar 17 13:49root tty3 Mar 17 13:49ttyp0 Mar 17 13:49 ()可以看到,现在系共有四个用户。第一列是登录用户的帐号;第二列是登录所使用的终端;第三列是登录时间;第四列是用户从什么地方登录的网络

8、地址,这里是。一般来说,这样就可以了解登录用户的大致情况了。但有时上面的显示不是那么直观,因为没有标题说明,不容易看懂,这时就需要使用-H 选项了。查看登录用户的详细情况,键入:$ who -uH显示如下:USER LINE LOGIME IDLE FROMroot tty1 Mar 17 13:49 .foxy tty2 Mar 17 13:49 00:01root tty3 Mar 17 13:49 00:01ttyp0 Mar 17 13:49 00:01 ()这样一目了然。其中-u 选项指定显示用户空闲时间,所以可以看到多了一项 IDLE。第一个 root 用户的 IDLE 项是一个“

9、.”,这就说明该用户空闲时间。w 命令1 秒仍然是活动的,而其他用户后面都有一个时间,称为该命令也用于显示登录到系统的用户情况,但是与 who 不同的是,w 命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,并且统计数据相对 who 命令来说更加详细和科学,可以认为 w 命令就是 who 命令的一个增强版。w 命令的显示项目按以下顺序排列:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近 1 秒、5 秒和 15 秒的平均负载。然后是每个用户的各项数据,项目显示顺序如下:登录帐号、终端名称、主机名、登录时间、空闲时间、JCPU、PCPU、当前正在运

10、行进程令行。其中 JCPU 时间指的是和该终端(tty)连接的所有进程占用的时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的作业所占用的时间。而 PCPU 时间则是指当前进程(即在WHAT 项中显示的进程)所占用的时间。下面介绍该命令的具体用法和参数。语法格式如下:w -husfV user下面对参数进行说明:-h 不显示标题。-u 当列出当前进程和 CPU 时间时忽略用户名。这主要是用于执行 su 命令后的情况。-s 使用短模式。不显示登录时间、JCPU 和 PCPU 时间。-f 切换显示 FROM 项,也就是主机名项。默认值是不显示主机名,当然系统管理员可以对源文件作一些

11、修改使得显示该项成为默认值。-V 显示版本信息。User 只显示指定用户的相关情况。Ps auxInit 的为 1,它是系统所有进程的父进程。另外,每一个进程都有一个执行用户(USER),一个进程号(用来唯一标识一个进程),CPU/MEM 的使用率和进程状态等信息。Linux 操作系统下主要有 3 中类型的进程.(1)(2)(3)交互进程.由S启动的进程,交互进程可以台运行,也可以在执行.批处理进程.不与特定的终端联系,提交到等待队列中顺序执行守护进程。守护进程总是活跃的,一般是运行,Linux 绝大多数网络服务部都是采用守护进程来等待用户请求的.守护进程一般是由系统在开机时通过自动激活启动或

12、超级管理用户 root 启动.例如,可以定义httpd 服务器的启动的运行级别,此文件由/etc/init.d/httpd,是httpd 服务器的守护程序,当把它的运行级别设置为 3 和 5 时,系统启动后,它会自行启动,并一直等待远端用户的 http 的请求Chkconfig-level 3 httpd onChkconfig level 5 httpd on/级别 3 自动运行/级别 5 自动运行进程的运行状态:等待状态就绪状态僵死状态停止状态 S e进程在执行过程中会根据环境来改变 se。Linux 进程有以下状态:Running进程处于运行(它是系统的当前进程)或者准备运行状态(它在等

13、待系统将 CPU 分配给它)。Waiting进程在等待一个事件或者资源。Linux 将等待进程分成两类;可中断与不可中断。可中断等待进程可以被信号中断;不可中断等待进程直接在硬件条件等待,并且任何情况下都不可中断。Stopped进程被停止,通常是通过接收一个信号。正在被调试的进程可能处于停止状态。Zombie(defunct)这是由于父进程而被终止的进程,但是在 task 数据中仍然保留 task_struct 结构。ps 命令前面介绍的两个命令都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是本章的.要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而

14、ps 命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.ps 命令最常用的还是用于进程的工作情况,因为进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用 ps 命令了. ps 选项下面对命令选项进行说明-e 显示所有进程.-f 全格式.-h 不显示标题.-l 长格式.-w 宽输出.a 显示终端上的所有进程,包括其他用户的进程. r 只显示正在运行的进程.x 显示没有控制终端的进程.O+|- k1 ,+|- k2

15、 , 根据 SHORT KEYS、k1、k2 中快捷键指定的多 级排序顺序显示进程列表.对于 ps 的不同格式都存在着默认的顺序指定.这些默 认顺序可以被用户的指定所覆盖.其中“+”字符是可选的,“-”字符是倒转指 定键的方向.最常用的三个参数是 u、a、x.ps u root fps aux/显示当前系统 root 用户所有进程信息/查看当前系统所有进程以 root$ psTTY TIME5800 ttyp0 00:00:00 bash5835 ttyp0 00:00:00 ps登录系统,查看当前进程状况D可以看到,显示的项目共分为四项,依次为(进程 ID)、TTY(终端名称)、TIME(进

16、程执行时间)、D(该进程令行输入)。可以使用 u 选项来查看进程所有者及其他一些详细信息,如下所示:$ ps uUSID %CPU %MEM USZ RSS TTY SSTART TIMEDtest 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bashtest 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps ups xTTY STIMED5800 ttyp0 S 0:00 -bash5813 ttyp1 S 0:00 -bash5921 ttyp0 S 0:00 man ps5922 ttyp0 S 0:00 s

17、h -c /usr/bin/gunzip -c /var/catman/cat1/ps.1.gz | / 5923 ttyp0 S 0:00 /usr/bin/gunzip -c /var/catman/cat1/ps.1.gz5924 ttyp0 S 0:00 /usr/bin/less -is5941 ttyp1 R 0:00 ps x可以发现突然一下子就多出了那么多的进程。这些多出来的进程就是没有控制终端的进程。前面看到的所有进程都是 root 用户自己的。其实还有许多其他用户在使用着系统,自然也就对应着其他的很多进程。如果想对这些进程有所了解,可以使用 a 选项来查看当前系统所有用户的

18、所有进程。经常使用的是 aux 组合选项,这可以显示最详细的进程情况2 nice increment d arguments进程优先级为-2019 -20 为最高优先级。修改进程运行的优先级是通过增加或减少进程的 nice 值来实现的.系统进程默认的优先级为 0,如果使用 nice 命令,但没有指定优先级,则进程优先级为 10 3 renice 修改进程优先级Renice 指令可重新调整进程执行的优先权等级。优先级范围为-20-19,只有系统管理者可以改变其他用户进程的优先权并设置进程的优先级(负数时高优先级)。Renice 优先等级 -g -p -u -g-p-u 使用进程群组名称,修改所有

19、隶书于该进程群组的进程优先级/改变该进程的优先权等级指定用户名称,修改所有隶属于该用户进程的优先权。4 kill 终止进程命令Kill lKill -signal/查看终止进程发出的信号的类型下面是 kill 命令的一些常用的方法.Kill STOP Kill CONT Kill KILL /发送 STOP 信息给指定进程,停止一个进程而不退出这个进程,这个命令最广泛/发送CONT 信号给指定进程/强制立即终止指定进程,强迫进程立即停止,并且不实施操作,这一命令在终止某些不能用STOP 命令终止的进程十使用Kill -9 -1/终止拥有的全部进程。因为 SIGKILL 和 SIGSTOP 信号

20、不能捉,或者忽略,但其他的信号可以,所以,要终止这些进程,必须使用 kill 命令。5 killall 终止所有同名进程Killall -9 prosname/killall 命令可以用于终止以进程名为参数的当前系统的所有进程。6 top 动态显示运行中的进程PMTu rootKQSH其他进程控制命令cmd& Ctrl+d Ctrl+c Ctrl+z jobs bgfg/&表示将该命令放到运行,以避免占用当前终端/以正常模式终止当前正在运行的前台进程/强制终止当前正在运行的前台的进程/挂起一个正在运行的前台的进程/显示/在/作业和被挂起的所有进程恢复一个被挂起的进程台恢复一个被挂起的进程守护进

21、程管理通常 Linux 系统上提供的服务都是由运行在的守护程序来执行的,这些守护进程在系统开机后就可以运行了,且时刻监视着系统前台,一旦前台发出请求,守护进程即为它们提供服务,在 Windows 操作系统下称为服务。在 Linux 操作系统中,有两种类型的的守护进程,系统守护进程和网络守护进程,系统守护进程主要用于当前系统,网络守护进程主要用于等待系统客户端相关的网络服务,从而实现网络,网络服务采用 C/S 模式,服务器端时刻在特定的端口上等待客户机请求时才进入运行状态,客户端连接成功后即在该端口上开始通信,守护进程一直处于等待状态,只有当出现外部图形化 GUI 工具 Redhat-confi

22、g-servi.文本界面 TUI 工具 ntsysv别。例如: ntsysv level 345命令行界面 CLI 工具/配置运行级别,要配置不同的的运行级别,可通过level 选项来指定一个或多个运行级使用 chconfig 命令同样可以设置相应服务的运行级别及启动方式例如:chkconfig list nfs Chkconfig level 345 nChkconfig list nfs/查看 nfs 服务的运行情况/分别在 3,4,5 级别都启动 nfs 服务 /nfs 服务是非xinetd 类型服务/查看 nfs 服务的运行情况Chkconfignet on/启动 xinetd 中的服

23、务netChkconfig listLinux 系统各项服务1、alsasoundnet/查看net 启动情况Alsa 声卡驱动程序支持。Alsa 声卡驱动程序本来是为了一种声卡 Gravis UltraSound(GUS)而写的,该程序被证 明很优秀,于是作者就开始为一般的声卡写驱动程序。Alsa 和 OSS/Free 及 OSS/Linux 兼容,但是有自己的接口,甚至比 OSS 优秀。2、amd运行 automount 精灵程序,该精灵在必要时自动安装一些本地设备和 NFS 文件系统。3、apmdapmd 用来监视系统用电状态,并将相关信息通过 syslogd 写入日志。也可以用来在电源

24、4、arpwatch时关机。该程序主要用来5、atalk以太网物理地址和 IP 地址的对应关系。AppleTalk 精灵程序。注意不要在时间初始化。6、atd运行该程序,该程序的数据结构必须在运行其他进程前先花一定运行用户用 At 命令调度的任务。也在系统负荷比较低时运行批处理任务。7、autofs当您需要时自动8、bootparamd文件系统,而当您不需要时自动卸载。该服务允许老的 Sun 工作站从 Linux 网络启动,它和 rarp 现在很少使用,基本上被 bootp 和 dhcp 取代了。9、crondcron 是 Unix 下的一个传统程序,该程序周期地运行用户调度的任务。比起传统的

25、 Unix 版本,Vixie 版本添加了不少属性,而且更安全,配置更简单。10、dhcpd该精灵提供了对动态主机控制协议(Dynamic Host Control Protocol)的11、gated支持。gated 通过一个数据库提供了网络路由功能支持。它支持各种路由协议,包括 RIP 版本 1 和 、O 协议、OSPF 版本 2 以及 EGP 版本 2 到 4。 12、gpmgpm 为文本模式下的 Linux 程序如 mc(Midnight的拷贝,粘贴操作以及弹出式菜单。13、httpdder)提供了鼠标的支持。它也支持控制台下鼠标http 是著名的 www 服务器,可用来提供 HTML

26、文件以及 CGI 动态内容服务。14、inetd因特网操作服务程序。常,inetd 管理的程序有 15、inndinn 是最流行的用户组网络对各种它管理的服务的需求,并在必要的时候启动相应的服务程序。通net、ftp、rsh 和 rlogin。关闭 inetd 也就关闭了这些由它管理的服务。服务器。它允许您建立起本地服务器。配置有一定的难度,可以先阅读/usr/doc/ inn*文档获得帮助。16、keytable 该程序的功能是您在/etc/sysconfig/keyboards里说 明的键盘表,该表可以通过kbdconfig 工具进行选 择。您应该使该程序处于激活状态。17、ldapLDAP 代表 Lightweight Directory Ac18、linuxconfs Protocol,实现了目录协议的行业标准。linuxconf 是Linux 下的一个有效的系统配置工具,该服务允许19、lpdlpd 是系统打印守护程序,负责将 lpr 等程序提交给打印作业。20、mcserv运行。Midnightder 服务进程允许机器上的用户通过 Midnightder 文件管理器操作本机文件。服务进程用 PAM 来验证用户,需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论