第9章 进程与日志管理

发布 2019-05-25 05:49:37 阅读 6774

第九章、进程与日志管理。

一、进程管理。

基本概念。、进程的概念——

进程是处于活动状态的计算机程序。

进程是一个随执行过程不断变化的实体。

、进程与程序之间的关系——

进程是程序的一次运行活动,属于一种动态概念。

一个进程可以执行一个多个程序。

几个进程也可以同时使用一个程序的副本。

程序可以作为一种软件资源长期保持着,而进程则是一次性过程。

、进程的分类——

交互式进程 (如:vi、less等等)

批处理进程 (如:不加-i选项的cp、cat等一些敲击完命令后,回到“#”的状态)

守护进程 (如:vsftpd、httpd等一些服务)

、前台与后台——

前台是指一个程序控制着标准输出和标准输入。

后台就是指一个程序不从标准输入接受输入,也不将结果输出到标准输出上。

1、进程管理。

、查看进程——(ps)(top)

、ps——获得当前进程数据。

#ps [选项]……

常用选项:(这里的选项不带“-”也可以。有的地方加上“-”不行。

-a——列出带有控制终端的全部进程,不仅仅是当前用户的进程。

-r——只列出正在运行的进程。

-x——列出没有控制终端的那些进程。

-u——列出进程的所有者。

-f——给出进程之间的父/子关系。

-l——按长格式显示清单。

w——显示进程的命令行参数。

-o——用户自定义每行所显示的内容。

ps——命令最常用的选项组合是“-aux”,每个进程的信息为一行,每行11个字段:

每段定义如下:

user:进程的所有者。

pid:进程的标识号码。

%cpu:进程占用cpu的百分比。对于一个多处理器系统来说,这一个数字相加的结果可能会大于%100。

%mem:进程占用内存的百分比。

vsz:进程占用虚拟内存的数量。

rss:进程占用真实(驻留)内存的总量。

tty:进程的控制端。在这一列**现“?”意味着这个进程不与某个控制终端相关联。

stat:进程的状态。主要包括以下参数——

s——指进程休眠中。所有准备运行的进程(即那些被安排为多任务的进程,但是cpu当前正在处理其他事情)都是休眠状态的。

r——cpu正在处理的进程。

d——指不可中断休眠状态(通常与输入输出有关)。

t——指正在被纠错程序跟踪或者已经被终止的进程。

z——指“僵死”的进程。它的意思是:(1)父进程没有使用wait系统使用调用通知它的子进程的终止;(2)父进程被非正常终止:

但是在该父进程完全终止前,init进程无法管理其子进程本身。一个“僵死”的进程通常都一位着软件编写的不好。

另外每个进程的stat进程数据选项还有如下的说明符:w=内存中没有驻留页面(它已经全部交换出内存);<高优先权进程;n=第优先权进程;l=内存页面被锁定在那里(通常就表示需要实时操作功能)。

start:进程开始的时间。

time:进程已经使用cpu的时间。

command:进程名称和它的命令行参数。

例1:如果打算获得进程之间的父子关系,可以加如f选项的ps命令,也可以在后面跟上只是自己希望了解看到的参数,也直接跟上,多个之间用逗号隔开。

#ps fo user,pid,tty,command

2、(top)——动态显示当前进程和其他状况。

#top [选项]……

常用选项:-d——指定每次屏幕信息刷新之间的时间间隔。

-c——显示整个命令行,而不是显示命令名。

例1:top命令执行后会产生交互的绘画状态,默认值是每3秒刷新一次。

# top解释——

在进程的表单上有5行:

第一行的项目依次为:(当前时间)、(系统从启动到现在的时间)、(当前系统用户登录数目)、(平均负载,最近一秒、5秒、15秒的负载值)。

第二行为进程情况,依次为:(进程总数)、(正在运行进程数)、(休眠进程数)、(终止进程数)、(僵死进程数)。

第三行为cpu状态,依次为:(用户占用)、(系统占用)、(优先进程占用)、(闲置等各种情况占用cpu时间的百分比)。

第四行为内存状态,依次为:(总的可用内存)、(已用内存)、(空闲内存)、(缓存使用内存)。

第五行为交换状态,依次为:(总的可用交换容量)、(已用容量)、(闲置容量)、缓存容量)。

接下来就是与ps相仿的个进程情况了:

pid:每个进程的id。

user:每个进程所有者的用户名。

pr:该进程的优先级别,用正整数表示。数值越低,优先级越高。

ni:nice值。nice值是进程的一个属性,pr是根据nice值排序的,规则是nice值越小pr值越低,其取值范围在(-20——19)之间。

virt:一个进程的虚拟大小,指的是该进程总共的内存使用量。这包含有:被指定给它的内存;它使用的档案所用的内存(例如共享的函数库);与其他进程共享的内存。

res:代表该进程实际使用的内存大小。这通常会少于virt里显示的大小。

shr:指的是virt里有多少的空间是可以分享的(内存或是函数库)。以函数库为例,它并非指该进程使用的整个函数库,换句话说,如果一个进程只使用函数库里几个函数,则该函数将被会被计算至virt和shr中,但是在res里它只会计算当前已使用函数的大小。

s:该进程的状态。

%cpu:该进程最近一次刷新以来所占用的cpu时间和总时间的百分比。

%mem:该进程占用的实体内存占总内存的百分比。

time:该进程自启动以来所占用的总cpu时间。

command:该进程的命令名称,如果一行显示不下,则会进行截取。

进入到会话模式后,就需要使用top的交互命令操作其状态。这些命令都是单字母的,键入h将会得到帮助屏幕。其它的常用的交互命令如下:

i——忽略闲置的僵死进程。这是一个开关式命令。

q——退出top命令的交互模式。

r——重新安排一个进程的优先级别。该命令提示用户输入需要改变的进程pid以及需要设置的进程优先级值。输入的值越大优先级越低,反之则可以是该进程拥有更高的优先权。默认值是10.

s——切换到累计模式。

f或者f——从当前显示中添加或者删除项目。

o或o——改变显示项目的顺序。

l——切换显示平均负载和启动时间信息。

m——切换显示内存信息。

t——切换显示进程和cpu状态信息。

c——切换显示命令名称和完整命令行。

m——根据驻留内存大小进行排序。

p——根据cpu使用百分比大小进行排序。

t——根据时间/累计时间进行排序。

2、终止进程 (kill)

# kill -n 进程的pidn)——代表信号的编号。

我们经常用到的编号有:

-1——挂起信号(或称是sighup或hup)

-9——强制关闭,杀无赦。

-15——终端进程运行。默认kill不加任何参数选项直接跟着进程的pid,就是-15选项。

3、控制进程的运行方式。

对于前台执行的程序,可以用“ctrl+z”转入后台,但并不会在后台执行,而是停止状态。

、用命令jobs 显示后台运行的哪些程序。

# jobs

、如果想让 # restore -tf /dev/hda1 这条命令在后台运行。可以输上。

# bg 程序编号如下:

# bg 1

# fg 进程编号

此命令可以让程序切换到前台执行。

二、任务管理 (at、cron)

1、(at)安排一次性任务。

# at [选项]……时间。

可以指定在一天的某时间执行,如果时间已经过去了,就认为是第二天的这个时间执行。

还可以指定在哪一天执行程序,时间格式为:

mmddyy(月日年)、mm/dd/yy、

常用选项:-f《文件》——从文件而不是标准输入输出中读取作业信息。

例1:在今晚18点25分运行一项任务,在根下建立一个名为123的目录。

# at 18:25 具体如下图:

键入mkdir命令语句后,“ctrl+d”退出。即ok。

例2:在2023年12月30日上午10点对系统中的/boot分区,做完全备份,之后重启系统。

# at 10:00 12/29/2009

例3:at 交互界面中无法修改已输入过的命令语句,用户可以写一个文本文件,再用 –f 选项调用它。目前根目录下有一个名为123的目录,我们要让系统自动在2023年7月20日晚上8点整,在根目录下创键一个名为234的目录,同时把原来的123目录删掉。

我们在根下编辑好文件,其内容是“mkdir /234”和“rm -rf /123”,两行内容。

at 20:00 07/20/2009 -f /1 (文件名最好加上路径)

、(atq)

列出用户未执行的任务,超级用户能列出所有使用者已创建的任务。

# atqroot用户进入/var/spool/at 目录中可以查看相关的文件,获得具体操作内容。

、(atrm)

放弃 at 任务。

用 # atq查出所有的at任务。

然后 # atrm [要终止的任务编号]

2、(cron)定期完成固定任务。

、(cron)——是一个可以用来根据时间、日期、月份、星期的组合来调度执行重复任务的守护进程。可以定时地、周期地执行任务。

cron在执行时需要读取配置文件 /etc/crontab来决定什么时候执行什么任务。下图:

前四行用来配置cron任务运行环境的变量:

shell:告诉系统要使用哪个shell环境。

path:定义用来执行命令的路径。

mailto:cron任务的输出被邮寄给mailto变量定义的用户名,为空电子邮件就邮不出去了。

home:home变量用来设置在执行命令或脚本时使用的主目录。

余下的每一行代表一项任务:

分钟。从0到59之间的任何整数。

小时。从0到23之间的任何整数。

日期。从1到31之间的任何整数(如果指定了月份,必须是该月份的有效日期)。

月份。从1到12之间的任何整数。

星期。从0到7之间的任何整数,这里的0和7都代表星期日。

用户。命令的执行者,这通常是需要指定的,用来描述使用哪个用户执行后面的命令。

命令。命令可以是如:df -h > 123/ 随便之类的命令脚本。

在以上的任何值中:

“*”星号。代表所有有效的值。

“-”指定的一个整数范围。例如:1——4,代表。

“,”隔开一系列值指定一个列表。例如表明这四个指定的整数。

“/”指定间隔频率。例如:0~59/2 可以用来在分钟字段定义每2分钟;还可以跟“*”一起使、用,如:*/3 的值可用在月份字段中表示每3个月运行一次。

网络安全第9章答案

1.什么是防火墙?计算机防火墙的种类有哪些?答 防火墙是指设置在不同网络 如可信任的企业内部网和不可信的公共网 或网络安全域之间的一系列部件的组合。从防火墙的软 硬件形式来分,防火墙可分为软件防火墙 硬件防火墙以及芯片级防火墙。从防火墙的技术实现来分,防火墙可分为包过滤型防火墙 应用 型防火墙及入侵...

网络安全技术习题第9章习题

第9章。1判断题。1 1 vpn全部采用了 网关对网关 的结构。1 2 外联网vpn与内联网vpn在结构上都采用 网关对网关 结构,但外联网vpn使用了身份认证和访问控制功能。1 3 远程接入vpn与ras的功能相似,但vpn使用了加密方式,要比ras安全且成本低。1 4 在利用vpn连接两个lan...

第9章酒店保安部标准化培训

保安部各岗位服务标准流程。保安部各岗位职责标准。保安部工作流程图。9.1 保安部各岗位服务标准流程。9.1.1 保安部日常管理流程。1 保安部依据酒店的 员工守则 对保安员进行管理,并根据 严格培训,严格管理 的要求,在实施具体管理时强调保安工作的安全要求。2.保安员应 律人先律己 如保安员违反酒店...

其他用户还读了