第八章:进程管理和计划任务
进程和计划任务管理
![进程和计划任务管理](https://img.taocdn.com/s3/m/c7ecb0ca04a1b0717fd5dd30.png)
实验目的
能熟练掌握Linux环境下进程的管理;
能熟练掌握Linux环境下计划任务的制定。
实验要求
一、进程管理
1.查看所有进程,并用全格式显示
2.查看进程httpd的pid,并用kill命令终止此进程。
3.用ps命令查看系统当前的进程,并把系统当前的进程保存到文件process中。
4.用top查看系统状况,将更新显示二次的结果输出重定向到/tmp/ top.log文件。
●新课导入:
复习上一节课所学内容引出今天所要讲的内容
●教学过程和教学内容设计:
1.建筑产品的特点
建筑产品的固定性、施工的流动性、建筑产品的单件性、建筑产品的多样性、建筑产品的复杂性、建筑产品的庞体性、建筑产品的长期性、建筑产品的敞开性。
2.建筑产品施工的特点
建筑施工的单件性、建筑施工的流动性、建筑施工的长期性、建筑施工的复杂性。
5.用ps命令查看系统当前有没有init进程。
有
6.查看并删除jerry用户设置的计划任务。
7.输入“cat<回车>”
1)按<ctrl>-z键,出现什么情况?输入fg命令出现什么情况?
按<ctrl>-z键, cat进程放到后台中“暂停”,输入fg命令后,cat进程回到前台。
2)按<ctrl>-c键,出现什么情况?
12.每天早上7:50自动开启sshd服务,22点50时关闭。
13.每隔5天清空一次FTP服务器公共目录/var/ftp/pub。
14.每周六的7:30时,重新启动httpd服务。
15.每隔两天晚上23:10收集磁盘使用情况。
16.每周一、三、五的17:30时,打包备份/etc/httpd目录。
实验四 进程和计划任务管理
![实验四 进程和计划任务管理](https://img.taocdn.com/s3/m/a70077292f3f5727a5e9856a561252d380eb20ca.png)
实验四进程和计划任务管理进程和计划任务管理是计算机操作系统的核心功能之一。
无论是操作系统还是应用软件,进程和计划任务的管理都至关重要。
进程是计算机中程序执行的基本单位,每个进程都有其独立的运行环境和数据空间。
而计划任务则是计算机根据用户设置和系统需求,自动执行特定任务的能力。
在本次实验中,我们将深入了解进程和计划任务管理的基本原理,掌握常用的进程管理命令,学习计划任务的创建、修改和删除等操作。
一、实验目的1.理解进程和计划任务的概念,掌握进程的基本管理命令。
2.学会创建、修改和删除计划任务,实现自动化管理。
3.提高计算机系统的运行效率,优化系统资源分配。
二、实验环境本次实验在Windows10操作系统上进行,要求学生熟悉实验环境,掌握基本的系统操作。
三、实验内容1.进程管理(1)查看进程我们要学会查看当前系统中运行的进程。
可以使用“任务管理器”命令来查看进程。
打开命令提示符,输入“taskmgr”并回车,弹出任务管理器界面。
在“进程”标签下,可以查看当前系统中所有的进程。
(2)结束进程当某个进程异常或需要终止时,我们可以使用“taskkill”命令来结束进程。
命令格式为:“taskkill/PIDprocess-id/F”。
其中,process-id为要结束的进程ID。
例如,要结束进程ID为的进程,可以输入命令:“taskkill/PID/F”并回车。
(3)启动进程有时,我们需要启动一个已经停止的进程。
可以使用“start”命令来启动进程。
命令格式为:“start/bmand”。
其中,mand为要启动的程序命令。
例如,要启动记事本程序,可以输入命令:“start/bnotepad”并回车。
2.计划任务管理(1)创建计划任务计划任务可以帮助我们自动执行一些重复性的工作。
在Windows 系统中,可以使用“任务计划程序”来创建计划任务。
打开“任务计划程序”,“创建基本任务”,填写任务名称、描述以及触发器(何时触发任务)。
操作系统的进程管理
![操作系统的进程管理](https://img.taocdn.com/s3/m/774d8775ef06eff9aef8941ea76e58fafab0459c.png)
操作系统的进程管理随着计算机技术的不断发展,操作系统作为计算机系统的核心部件,已经发挥了越来越重要的作用。
在操作系统中,进程管理是其中的一个重要的部分,它对计算机系统的性能和稳定运行起着至关重要的作用。
进程是指正在运行的程序。
在计算机中,进程可以分为操作系统进程和用户进程。
操作系统会为每个进程分配运行所需的资源,并实现对进程的调度、控制和同步等管理功能。
下面我们来详细了解一下操作系统的进程管理。
一、进程的概念与属性进程是指正在运行的程序在操作系统中的抽象,是计算机上的基本执行单位。
每个进程都有独立的内存空间和运行环境,包括CPU时间、内存空间、文件和设备等资源。
进程之间相互独立,不能相互干扰和共享内存。
进程有以下几种属性:1.进程标识:每个进程都有一个唯一的进程标识符PID,用于唯一标识该进程。
2.进程状态:进程可以有三种状态:就绪状态、阻塞状态和运行状态。
其中,就绪状态是指进程已经准备好运行,只需等待CPU调度即可;阻塞状态是指进程正在等待某个事件的完成,例如等待IO操作完成;运行状态是指进程正在执行。
3.进程控制块:每个进程都有一个进程控制块PCB,它是操作系统管理进程的重要数据结构,用于存储进程的运行状态、进程标识、程序计数器、寄存器等信息。
二、进程的状态转换进程可以经历三种状态的转换:就绪状态、阻塞状态和运行状态。
进程状态转换图如下:当一个进程在运行时,如果需要等待某个事件的发生,例如等待IO操作完成,它就会进入阻塞状态。
当阻塞事件完成后,它就会进入就绪状态,等待操作系统调度。
当操作系统调度到该进程并执行时,该进程就会进入运行状态。
三、进程的创建与终止进程的创建是指通过操作系统创建一个新进程的过程。
一般来说,进程的创建需要经过以下几个步骤:1.数据结构初始化:操作系统需要为新进程分配一个唯一的PID,并创建一个对应的进程控制块PCB。
2.程序加载:操作系统需要将新进程的代码和数据从磁盘加载到内存中。
linux进程和计划任务管理
![linux进程和计划任务管理](https://img.taocdn.com/s3/m/b61b303943323968011c92f3.png)
实验案列:管理进程及设置计划任务
需求:管理系统中进程
设置计划运行的系统管理任务
步骤:
1管理系统中地进程
启动系统中portmap服务,确认服务运行状态,通过ps或pgrep命令查看portmap的进程信息
Ps:查看静态的进程统计信息,a:显示当前终端下的所有进程信息,u:使用以用户为主的格式输出进程信息,x: 显示当前用户在所有终端下的进程信息,-e:显示系统内的所有进程信息,-l:使用长格式显示进程信息,-f:使用完整的格式显示进程信息
Ps –elf:以长格式显示系统中所有的进程信息
Ps aux :将以简单的列表的形式显示出所有进程信息
从另一终端执行”cpuburn-in 10”命令,进行十分钟高负载测试,查找cpu占用率较高pid号,并终止其运行
Mount 将/dev/cdrom 挂载道/media/目录下
Cd切换/media/ 目录,ls列表显示目录内容
解压cpuburn-in的cpu测试工具,并释放到/opt/目录下
Pgrep命令可指定进程的一部分名称进行查询,,结合-l选项查询在特定终端运行的进程
-U:选项查询特定用户的进程, -t : 选项查询在特定终端运行的进程
Pstree: 查看进程树(——默认显示个进程的名称)-a选项可以列出完整的命令信息-u:可以列出对应的用户名,-p:使用时可以同时列出对应的ID号
Pstree –aup:命令可以查看当前系统的进程树
使用kill命令终止进程,需要使用PID进程号作为参数
2设置计划运行的系统管理任务
确认启动crond系统服务
执行”crontab –e ”根据需求设置计划任务
执行”crontab -l”查看所有设置的计划任务列表。
管理进程和计划任务
![管理进程和计划任务](https://img.taocdn.com/s3/m/8467c108de80d4d8d15a4f44.png)
2 0.0 0.0
0
0?
SN Apr02
0:00 [ksoftirqd/0]
• USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND USER: 行程拥有者 PID: pid %CPU: 占用的 CPU 使用率 %MEM: 占用内存使用率 VSZ: 占用的虚拟内存大小 RSS 驻留中页的数量; TTY: 终端的次要装置号码 (minor device number of tty) STAT: 该行程的状态: D: 不可中断的静止 R: 正在执行中 S: 静止状态 T: 暂停执行 Z: 不存在但暂时 无法消除 W: 没有足够的内存分页可分配 <: 高优先序的行程 N: 低优先序的行程 L: 有内存分页分配并锁在内存内 START: 行程开始时间 TIME: 执行的时间 COMMAND:所执行的指令
• • • • 熟悉Linux的引导流程 熟悉Linux的运行级别 会管理进程和服务 会设置任务的计划运行
3
引导流程总览
开机自检(BIOS) MBR 引导 GRUB菜单 加载内核(kernel) /etc/rc0.d/* 读取/etc/inittab配置文件 运行 INIT 进程
/etc/rc1.d/*
[root@localhost ~]# chkconfig --list network
network acpid 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 [root@localhost ~]# chkconfig --list
13
系统服务的启动控制
• ntsysv系统服务管理工具
进程和计划任务管理
![进程和计划任务管理](https://img.taocdn.com/s3/m/28de9498daef5ef7ba0d3c3c.png)
进程和计划任务管理一,管理系统中的进程。
1,启动系统中的portmap服务,然后使用kill命令终止。
注:使用service+程序+状态管理服务,pgrep –l查看指定服务。
Kill+PID号终止进程。
2,查找系统中CPU占用率超过80%的进程,并终止。
注:为了验证试验效果,这里借助第三方软件实现,首先解压缩文件,运行,设置时间为5min。
注:使用top查看进程动态信息。
可以查看系统进程的详细的动态信息。
如图,CPU占有率达到72.4%。
注:在其他伪终端中使用kill+PID号关闭进程。
如图可以看到,cpuburn-in 已终止。
二,设置计划运行的系统管理任务。
1,每周一下午4点44自动清空/mnt目录。
注:使用crontab –e编辑当前用户的计划任务,格式为分时日月周+执行动作。
如图,44 16 * * 1 /bin/rm –rf /mnt/*,每周一下午4点44自动清空/mnt目录,wq保存退出。
注:计划时间到了可以查看到/mnt文件夹被清空。
2,每天晚上16:39自动执行任务,显示系统时间并查看挂载磁盘分区的使用情况,将输出结果追加保存到文件/var/log/df.log。
注:编辑test.sh脚本,执行向/var/log /df.log中追加date和df命令。
添加/bin/sh /root/test.sh计划任务。
计划时间到了可以自动执行脚本。
即达到显示系统时间并查看挂载磁盘分区的效果。
注:执行时间到了会发现/var/log目录下有df.log文件,可以进行查看计划时间及磁盘使用情况。
Linux 管理进程和任务计划
![Linux 管理进程和任务计划](https://img.taocdn.com/s3/m/acc724272af90242a895e5d1.png)
管理进程和任务计划一、实验目的实验案例一:优化Linux系统中的服务实验案例二:管理进程并设置计划运行的任务二、实验环境实验案例一:优化Linux系统中的服务公司在文件服务器中新安装了RHEL5操作系统,由于默认启动的服务器程序较多,系统运行缓慢。
现需要对系统服务进行适当优化,减少一些不必要的自启动服务,并设置系统在开机后直接进入字符模式实验案例二:管理进程并设置计划运行的任务为了更好的了解和控制Linux服务器的有序运行,需要管理员熟悉进程管理和计划任务设置的相关操作,以完成相应的服务运行维护任务三、需求描述实验案例一:优化Linux系统中的服务设置Linux系统每次开机后自动进入字符模式界面使用ntsysv工具同时调整2、3、4、5级别中的服务状态,关闭一下系统服务:anacron、bluetooth、hidd、IP6tables、iptables、isdn、mcstrans、mdmonitor、nfslock、portmap、restorecond、rpcgssd、rpcidmapd、sendmail、settroubleshoot、yum-updatesd使用chkconfig工具调整个别服务的启动状态:将cups、gpm、nvcserver服务在运行级别3中的自启动状态设为关闭;将sftpd、sshd服务在运行级别3、5中的自启动状态设为开启查看当前系统中内存等资源的使用情况,重新启动系统登录到字符模式后,确认当前的运行级别状态,再次查看系统资源的占用情况使用initiative命令切换到图形模式,再次确认运行级别并查看内存等资源的使用情况,比较优化服务前后及在不同运行级别中的差异实验案例二:管理进程并设置计划运行的任务管理系统中的进程◆确认vsftpd、sshd服务程序的启动状态,使用service命令关闭vsftpd服务◆启动系统中的bluetooth服务,然后使用kill命令终止它的运行◆查找系统中cpu占用率超过%80的进程,并强行终止进程设置计划的系统管理任务◆走周一的早上7:50时自动清空FTP服务器公共目录“/var/ftp/pub”中的数据◆在每天晚上的10:30时自动执行任务,完成一下操作:显示当前系统时间并查看已挂载磁盘分区的磁盘使用情况,将输出结果追加保存到文件“/var/log/df.log”中,以便持续观察硬盘空间的变化◆查看所设置的计划任务表四、实验步骤实验案例一:优化Linux系统中的服务(1)修改“/etc/inittab”文件,将默认运行级别修改为3(2)运行ntsysv工具后,在交互式操作界面中将上述服务名称前面的“[*]”变为“[]”(3)使用chkconfig工具,结合“——level”选项分别调整cups、ncserver、vsftpd、sshd、saslauthd服务在指定运行级别中的自启动状态(4)使用free或top命令(输出界面的上方)查看内存等资源的使用情况,重启到字符模式后再次查看内存等资源的占用情况,并比较前后的区别(5)切换到图形模式后,再次查看内存等资源的使用情况(资源占用介于前两者之间)(6)在以后的学习过程中,可以选择字符模式(运行级别3)作为实验环境,以减少对系统资源的占用实验案例二:管理进程并设置计划运行的任务Step1管理系统中的进程(1)确认vsftpd、sshd服务程序的启动状态,使用service命令关闭sftpd服务(2)启动系统中的bluetooth服务,确认服务状态,并使用ps命令查看相关进程的详细信息(3)使用kill命令终止bluetooth服务程序中进程的运行,再次确认服务状态,最后使用server命令关闭bluetooth服务程序(4)从http://users./.au/CPUburn/download/cpuburn-in.tar.gz网址中下载CPU测试工具,解压后将“CPUburn-in”程序复制到“/sbin/”目录中,然后从另一个终端执行“cpuburn-in 10”命令进行10分钟的cpu 高负载测试。
第八章 linux系统管理---任务管理与进程管理
![第八章 linux系统管理---任务管理与进程管理](https://img.taocdn.com/s3/m/ad77aac75fbfc77da269b19f.png)
• 用crontab定义自己的计划任务 crontab –e 这个命令会自动用启动vi编辑器,可以编辑增加或删除crontab 条目 crontab -l 命令 列出/var/spool/cron/username 文件中的内容,也就是该用户 的计划任务。 crontab -r tab 命令中加 –l -u username 的选项来 访问其他用户的个人crontab 文件
ADMINS
SERVER=SHUTDOWN
• 如果仅要执行一次的工作,就使用 at 这个指令吧!这个指令 其实就是 atd 这个服务!所以请记得一定要启动这个服务! 如果是在 Red Hat 系统下,可以使用: ntsysv 选择atd 按下 OK !
at 工具 用来在特定时间运行工作任务的。提交的工作缓冲放置于 /var/spool/at目录下,等待的守护进程at执行。工作将在提交 时的当前环境和目录下执行。任何没有重定向的输出和错误信 号都将以邮件形式发给提交此工作的用户。 指令的执行结果会以mail输出到用户的信箱
at工具能够正常运行的前提是守护进程atd正在运行.要想atd 能够自动运行,可以用 ntsysv 命令将其 enable.想立即启动 atd守护进程,可以运行下面的两个命令任何一个即可。 /etc/rc.d/init.d/atd start service atd start
格 式
hh:mm
说
• 状态栏:显示工作的状态。 • 指令栏:显示开启工作的指令。
jobs选项
• • • • -l -n -p -x 列出工作编号及程序编号(PID) 只列出状态改变的工作 只列出PID 执行指令
控制工作
• 指定工作 操作的时候基本上以编号指定工作,并以%标示。 %编号,如:%1就是编号1的工作。 %字符串,指令栏以字符串开头的工作。 %?字符串,指令栏内包含字符串的工作。 %%,目前的工作。 %+,同上 %-,上一个工作。 • 暂停工作 暂停目前正在进行的工作使用Ctrl+Z。
进程与进程管理课件
![进程与进程管理课件](https://img.taocdn.com/s3/m/47711363dc36a32d7375a417866fb84ae55cc340.png)
阻塞态
进程在等待某一事件完成 。
创建态
进程正在被创建,尚未转 到就绪态。
结束态
进程从系统消失,可能是 正常结束或其他原因中断 退出运行。
02
进程的结构与组成
进程的标识符
01 唯一标识
进程标识符(PID)是系统中唯一标识进程的数字 ,用于区分不同进程。
02 进程组标识
• 挂起处理:当进程被挂起时,需要将其状态保存到外存中,同时释放其所占用 的内存资源,以确保系统能够继续运行其他进程。
• 恢复方式:被挂起的进程可以通过系统资源充足、用户请求等方式恢复执行。 • 恢复处理:当进程被恢复时,需要将其状态从外存中读取到内存中,并重新分
配相应的系统资源,以确保进程能够继续执行。同时,还需要更新相关的数据 结构,保证系统状态的一致性。在恢复进程时,还需要注意处理可能出现的并 发问题,确保进程的恢复操作是原子性的,避免在恢复过程中出现竞态条件。
上下文切换
当操作系统从一个进程切换到另一个进程时,需要保存当 前进程的上下文并恢复要执行进程的上下文,确保进程能 够正确继续执行。
保存与恢复
上下文的保存包括将处理器的寄存器值、程序计数器等内 容保存到相应进程的PCB中;上下文的恢复则是从PCB中 读取保存的信息,恢复处理器的状态。
03
进程管理技术与机制
程都在等待下一个进程所占有的资源)。
死锁的避免、预防与检测
01 02
避免
通过银行家算法等方式避免死锁的发生。银行家算法在分配资源之前先 判断系统是否处于安全状态,如果安全则分配,否则就等待,以此来避 免进入死锁状态。
预防
通过破坏死锁产生的四个必要条件之一来预防死锁的发生。例如,采用 一次性申请所有资源的策略来破坏请求和保持条件。
Windows CMD中的进程管理和任务调度技巧
![Windows CMD中的进程管理和任务调度技巧](https://img.taocdn.com/s3/m/5b89710db80d6c85ec3a87c24028915f804d8484.png)
Windows CMD中的进程管理和任务调度技巧Windows CMD是Windows操作系统中的命令行工具,它提供了丰富的进程管理和任务调度技巧,使用户能够更好地控制和管理系统中的进程和任务。
本文将介绍一些常用的技巧,帮助读者更好地利用Windows CMD进行进程管理和任务调度。
一、进程管理技巧1. 查看进程:使用命令“tasklist”可以列出当前系统中运行的所有进程。
该命令会显示进程的ID、名称、内存使用情况等信息,帮助用户了解系统中各个进程的状态。
2. 结束进程:使用命令“taskkill”可以结束指定的进程。
该命令需要指定进程的ID或名称,并可以选择性地使用参数来指定结束进程的方式。
例如,“taskkill /F/PID 1234”可以强制结束进程ID为1234的进程。
3. 启动进程:使用命令“start”可以启动指定的程序。
该命令可以指定程序的路径和名称,并可以选择性地使用参数来传递给程序。
例如,“start notepad.exe”可以启动记事本程序。
4. 进程优先级:使用命令“wmic”可以修改进程的优先级。
该命令需要指定进程的ID,并可以使用参数来指定进程的优先级。
例如,“wmic process where processid=1234 call setpriority 64”可以将进程ID为1234的进程的优先级设置为“高”。
二、任务调度技巧1. 创建计划任务:使用命令“schtasks”可以创建计划任务。
该命令可以指定任务的名称、触发器、执行的命令等信息。
例如,“schtasks /create /tn MyTask /trC:\MyScript.bat /sc daily /st 09:00”可以创建一个每天早上9点执行C盘根目录下的MyScript.bat脚本的计划任务。
2. 修改计划任务:使用命令“schtasks”可以修改已有的计划任务。
该命令需要指定任务的名称,并可以使用参数来修改任务的属性。
进程与任务或作业管理
![进程与任务或作业管理](https://img.taocdn.com/s3/m/72bc7864905f804d2b160b4e767f5acfa1c7839a.png)
进程与任务或作业管理进程与任务或作业管理是计算机系统中的重要概念,它涉及到操作系统中的进程管理和任务(或作业)管理,对于实现多任务并发执行和资源分配具有重要意义。
本文将介绍进程管理和任务(或作业)管理的概念、目的和常用的管理方法。
进程管理进程是指一个程序在执行过程中产生的实体,是计算机系统中的基本执行单位。
进程管理是指操作系统对进程进行创建、运行、暂停、终止和切换等操作的管理。
它的主要目的是为了实现多任务并发执行和资源的合理分配。
进程创建与终止进程的创建是通过操作系统的调度算法来完成的。
当用户运行一个程序时,操作系统会为该程序分配一块内存空间,建立相应的数据结构,并将程序加载到内存中执行,从而创建了一个进程。
进程的终止是指进程执行完毕或出现错误导致无法继续执行时的操作。
操作系统会回收进程所占用的资源,并释放相关的数据结构。
进程运行与切换进程运行时,操作系统通过调度算法来决定哪个进程可以占用处理器,并为其分配CPU时间片。
当一个进程的时间片用完或者发生阻塞时,操作系统会进行进程切换,即将当前进程的状态保存起来,恢复下一个进程的状态,并将处理器的控制权交给它。
进程间通信进程间通信(Inter-Process Communication,简称IPC)是指进程之间进行信息交换和数据共享的机制。
常见的进程间通信方式有管道、消息队列、共享内存和信号量等。
通过进程间通信,可以实现不同进程之间的协作与数据交换。
任务(或作业)管理任务(或作业)管理是指操作系统对多个任务(或作业)进行管理和调度的过程,以便合理利用系统资源,提高系统的运行效率。
任务(或作业)的提交与调度任务(或作业)的提交是指用户将需要运行的任务(或作业)提交给操作系统进行处理。
操作系统会按照不同的调度算法来决定任务(或作业)的执行顺序。
常见的调度算法有先来先服务(FCFS)、最短作业优先(SJF)、时间片轮转(RR)等。
任务(或作业)的并发执行为了充分利用系统资源和提高系统的运行效率,操作系统通常会同时执行多个任务(或作业)。
进程管理和计划任务
![进程管理和计划任务](https://img.taocdn.com/s3/m/d34918e0f61fb7360b4c65a6.png)
crontab任务配置的格式2-1
时间周期设置 任务内容设置
50
分钟
3
小时
2
日期
1
月份
*
星期
run_command
命令
字段
分钟 小时
说明
取值为从0到59之间的任意整数 取值为从0到23之间的任意整数
日期
月份 星期
取值为从1到31之间的任意整数
取值为从1到12之间的任意整数 取值为从0到7之间的任意整数,0或7代表星期日
• 全局配置文件,位于文件: /etc/crontab 每小时、每天、每星期、每月 • 系统默认的设置,位于目录: /etc/cron.*/ 定期执行的任务脚本分别存放 01 * * * * root run-parts /etc/cron.hourly 在这些目录中 • 用户定义的设置,位于文件: /var/spool/cron/用户名
# run-parts 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
计划任务管理——crond2-2
[root@localhost ~]# atrm 2 [root@localhost ~]# atq 1 2011-02-21 14:55 a root
计划任务管理 at -3
at基于用户的使用控制文件 /etc/at.allow 允许那些用户可以使用at计划任务 /etc/at.deny 拒绝那些用户使用at计划任务 在配置文件中每一个用户名独占一行
查看进程信息—ps
操作系统进程管理
![操作系统进程管理](https://img.taocdn.com/s3/m/4f128080ac51f01dc281e53a580216fc700a539c.png)
操作系统进程管理在计算机的世界里,操作系统就像是一个有条不紊的大管家,而进程管理则是它手中的重要权杖之一。
进程管理是操作系统的核心功能之一,它负责合理地分配和调度系统资源,以确保多个进程能够高效、稳定地运行,从而为用户提供流畅的计算体验。
那么,什么是进程呢?简单来说,进程就是正在运行的程序的实例。
当我们打开一个应用程序,比如浏览器或者文字处理软件,操作系统就会为这个程序创建一个进程。
每个进程都有自己独立的内存空间、执行上下文和系统资源,就像是一个独立的“小世界”。
进程管理的主要任务包括进程的创建、终止、调度、同步和通信等。
首先,进程的创建是一个复杂的过程。
当操作系统接收到用户的请求或者系统内部的触发事件时,它会为新的进程分配必要的资源,如内存、CPU 时间等,并初始化进程的控制信息,使其能够开始执行。
而进程的终止也不是简单地将其从系统中删除。
操作系统需要妥善处理进程所占用的资源,释放内存、关闭打开的文件等,以确保系统的资源得到有效回收和利用。
进程调度则是决定哪个进程能够获得 CPU 资源来执行。
这就像是一个排队系统,操作系统需要根据一定的策略,如优先级、时间片轮转等,来选择下一个要执行的进程。
如果调度策略不合理,可能会导致某些进程长时间等待,系统的整体性能就会下降。
进程之间还需要进行同步和通信,以协同完成复杂的任务。
比如说,一个进程可能需要等待另一个进程完成某个操作后才能继续执行,这就需要同步机制来协调。
而进程通信则可以让它们交换数据和信息,常见的通信方式有共享内存、消息队列等。
为了更好地理解进程管理,我们来想象一个工厂的生产场景。
工厂里有多个车间,每个车间都在生产不同的产品,就像是计算机系统中的多个进程。
而工厂的管理者就相当于操作系统,需要合理安排每个车间的生产任务(进程调度),确保原材料和设备的供应(资源分配),协调不同车间之间的生产进度(进程同步),以及让车间之间能够传递生产信息(进程通信)。
第八章 管理进程和计划任务
![第八章 管理进程和计划任务](https://img.taocdn.com/s3/m/9340d41bf18583d049645984.png)
第八章管理进程和计划任务一、进程管理程序是为了完成某种任务而设计的软件,比如OpenOffice是程序。
什么是进程呢?进程就是运行中的程序。
一个运行着的程序,可能有多个进程。
比如我们公司所用的WWW服务器是apache 服务器,当管理员启动服务后,可能会有好多人来访问,也就是说许多用户来同时请求httpd 服务,apache服务器将会创建有多个httpd进程来对其进行服务。
1、查看进程1)ps——查看进程统计信息ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用top工具;ps 的常用参数:a 显示所有进程,与x结合将显示系统中所有的进程信息。
x 显示当前用户在所有终端的进程信息。
l 以长格式显示进程的信息。
u 显示进程的拥有者信息。
例:查看当前用户会话中打开的进程。
例:显示系统中所有的进程信息。
其中各字段含义如下。
¾USER:启动该进程的账户的名称。
¾PID:进程ID。
¾%CPU:CPU占用百分比。
¾%MEM:内存占用百分比。
¾VSZ:占用虚拟内存(swap空间)的大小。
¾RSS:占用常驻内存(物理内存)的大小。
¾TTY:表明该进程在哪个终端上运行,“?”表示未知或不需不终端。
¾STAT:显示了进程的当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。
¾START:启动该进程的时间。
¾TIME:该进程占用CPU时间¾COMMAND:启用该进程的命令的名称。
例:查看所有进程信息,过滤出包含“bash”的进程信息。
2)top——查看进程动态信息ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用top工具; top默认情况每3秒刷新一次,类似于Windows系统中的“任务管理器”。
进程管理
![进程管理](https://img.taocdn.com/s3/m/1202478f482fb4daa48d4b00.png)
进5 程管理
• 进程管理
➢查询进程的CPU使用情况 ➢查询进程状态 ➢改变进程优先级 ➢终止指定进程 ➢进程挂起 ➢前台运行 ➢后台运行
top ps nice kill/killall ctrl+z fg bg、&
6 执行命令程序
• 可执行程序种类 • 系统命令程序所在目录 • 关于程序路径 • 程序的运行方式 & jobs fg bg
• killall 命令送一条信号给所有运行任意指定命令的进程。
10 改变进程优先级
• 关于优先级 • nice命令 • renice命令 优先级的取值范围为-20到19,其中-20为最高优先级,19 为最低优先级,用户进程的缺省优先级为0。-20到-1优先 级只能由超级用户设置。nice命令用于以某种优先级启动 一个进程,renice命令用于改变一个正在运行的进程的优 先级。用户只能对自己所有的进程使用renice命令; root用户可以在任何进程上使用renice命令; 只有root用户才能提高进程的优先权。
8
• 查询其他系统状态信息
• Date 显示与设置系统时间 • Uptime显示系统运行时间
现在的时间; 系统开机运转到现在经过的时间; 连线的使用者数量; 最近一分钟,五分钟和十五分钟的系统负载。可用”Ctrl+C”终止
• kill命令 对于一个后台进程就须用kill命令来终止。kill命令 是通过向进程发送指定的信号来结束相应进程。默认情况 下,采用编号为15的TERM信号。TERM信号将终止所有不 能捕获该信号的进程。对于那些可以捕获该信号的进程就 要用编号为9的KILL信号,强行杀掉该进程。
第8章 进程管理
2 本章目标
• 进程 • 识别用户身份 • 执行命令程序 • 查询进程状态信息 • 信号 • 终止进程 • 改变进程优先级 • 守护进程
进程与任务或作业管理
![进程与任务或作业管理](https://img.taocdn.com/s3/m/583c588331b765ce04081422.png)
UNIX/Linux的进程调度按时间片计算“优先级”, 并按“优先级”的高低来调度进程,使优先级高的 进程占有处理机而得到(dé dào)执行。
0#进程创建了1#进程,它是1#进程的父 进程。1#进程在系统启动过程中创建了系 统所需要的其它进程。而子进程又可创建 属于(shǔyú)自己的子进程。因此除0#进 程外,1#进程是其它所有进程的祖先进程。
第八页,共52页。
6.1.5 进程及运行(yùnxíng)模式
在UNIX/Linux系统中,进程可在用户态 和核心态两种执行模式下执行。
态。 ⑨ 僵尸状态。
第十一页,共52页。
Linux系统的进程状态 (zhuàngtài)及转换
①就绪状态(执行) ② 浅 度 睡 眠
(shuìmián) ③ 深 度 睡 眠
(shuìmián) ④停止状态 ⑤僵尸状态
第十二页,共52页。
6.2 UNIX/Linux进程(jìnchéng) 调度
在Red Hat Linux 9中它的调整范围为-20~19, 在其它UNIX中,NICE取值范围可能与此不同。
沿用UNIX的传统(chuántǒng),NICE的值越大进 程的优先级越低。
NICE值可以被作为nice命令的参数来调试进程 的优先级。
第十五页,共52页。
6.2.2 信号(xìnhào)与软中断
第九页,共52页。
6.1.6 进程状态(zhuàngtài)及转 换
进程和计划任务管理
![进程和计划任务管理](https://img.taocdn.com/s3/m/79421311b80d6c85ec3a87c24028915f804d8425.png)
进程和计划任务管理实验目的能熟练掌握Linux环境下进程的管理;能熟练掌握Linux环境下计划任务的制定。
实验要求一、进程管理1.查看所有进程,并用全格式显示2.查看进程httpd的pid,并用kill命令终止此进程。
3.用ps命令查看系统当前的进程,并把系统当前的进程保存到文件process中。
4.用top查看系统状况,将更新显示二次的结果输出重定向到/tmp/ top.log 文件。
5.用ps命令查看系统当前有没有init进程。
有6.查看并删除jerry用户设置的计划任务。
7.输入“cat<回车>”1)按<ctrl>-z键,出现什么情况?输入fg命令出现什么情况?按<ctrl>-z键, cat 进程放到后台中“暂停”,输入fg命令后,cat进程回到前台。
2)按<ctrl>-c键,出现什么情况?按<ctrl>-c键后,cat进程被终止8.输入“find / -name ls* > temp &”,该命令的功能是什么?并查看该进程。
输入killallfind 命令后,再查看该进程。
“find / -name ls* > temp &”,该命令的功能是在根目录下查找名字以ls开头的所有文件,并把查询结果保存到tmp文件中,此任务放在后台运行。
9.输入“find / -name ls* > temp &”输入jobs命令,出现什么情况?10.查看这个shell中放在后台运行的程序或命令,输入fg命令出现什么情况?二、计划任务管理11.每周一下午5:50将/data目录下的所有目录和文件归档并压缩为:backup.tar.gz,放在/home/backup目录下。
(先新建/data目录,并在目录中随意生成几个文件)。
12.每天早上7:50自动开启sshd服务,22点50时关闭。
13.每隔5天清空一次FTP服务器公共目录/var/ftp/pub。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章:进程管理和计划任务
一、进程的概念;
二、进程的管理(增、查、删);
三、计划任务的概念;
四、一次性计划任务的管理;
五、周期性计划任务的管理;
一、进程的概念;
总结:程序是保存在硬盘中的可执行代码或数据的静态集合;
进程是cpu及内存中处于动态执行状态的计算机程序;
进程由程序运行后产生,需要消耗cpu和内存,分为父子进程,子进程向父进程申请或提交;
线程:包含在进程中的一个实体,与所在的进程共用计算机资源,(单线程(串行)、多线程(并行));
二、进程的管理:增(启动)、删(杀死或关闭)、查(显示进程)
查:查找进程ps/top/pgrep/pstree
1.语法:ps aux ##静态查看进程
RSS:物理内存,不包括swap,单位kb
VSZ:虚拟内存
STAT:进程状态,R运行、S休眠、Z僵尸、s父进程、1多线程、<高优先级、N低优先级、+前台进程
2.语法:top ##动态显示进程的列表,相当于windows下的任务管理器,q退出,h帮助,k杀死。
top交互式中的基本操作:
k--输入要杀死的PID--9代表强制杀死--15代表正常杀死(windows关机时有未关闭的程序时的提醒)
大写P按cpu使用情况进行将进程排序
q退出
3.补充知识:清除内存的缓存命令
echo 3 >/proc/sys/vm/drop_caches
4. pgrep命令:按条件查看进程;
语法:pgrep -l 关键字##查看包含关键字的进程
pgrep -l -u 用户名##查看该用户的进程
5.pstree命令:树形显示进程列表,显示包含其子进程;
语法:pstree -aup ##查看当前系统的进程树
pstree -ap 用户名##查看某用户的进程树
增:启动进程(举例:ping命令)
1.启动方式:
手动启动:手动执行命令进行开启进程;
调度启动:根据任务计划定时自动启动进程;
2.进程类型:
前台进程:在界面运行,必须等待结束后才能继续执行命令;
后台进程:不在操作界面运行。
3.前后台进程的管理:
启动前台进程:
启动后台进程:在运行命令后加上&,将现在运行的进程放到后台运行;例:cat /dev/zero >/dev/null &
挂起前台进程到后台:ctrl z 将正在运行的前台进程调到后台并暂停;
查看后台进程:jobs -l
恢复后台进程到前台:fg 后台进程编号(并非pid)将后台暂停的进程调到前台继续运行
删:停止进程kill/killall/pkill
1.ctrl c ##终止前台正在运行的进程
2.kill -9 PID ##强制终止单个进程
3.killall -9 进程名##强制终止此进程名称的所有有关进程
4.pkill -9 -u 用户名##针对此用户的所有进程强制终止
三、计划任务的概念:
1.概念:实现进程调度管理,在特定的时间(时间点)完成特定的任务(命令);
作用:周期性备份、定期更新系统、完成某一个特定的任务;
四、一次性计划任务管理:at
1.一次计划任务编写流程:
启动atd服务-->at(时间:例:at 00:17 2017-11-1)-->任务(命令)-->ctrl+d(提交)-->atq(查看)-->atrm 任务编号(删除)
五、周期性计划任务的管理;
1.了解crond:周期性执行命令,由crontabs软件提供系统计划任务内容;crond提供程序或用户自定义计划任务。
2.计划任务的格式:分时日月周要执行的命令##用户可以不指定,默认为root用户
3.时间的表示:所有时间为正常标准,特殊的表示以下:
*:表示任意时间,可用在除分钟外的其他时间
-:表示连续的时间
/:表示时间的频率,如*/3表示每隔3
,:表示不连续的时间,如1,3,5
4.设置周期性计划任务的方式:
crontab -e -u 用户-->时间命令-->:wq --> crontab -l -->crontab -r (删除用户的所有计划任务)
echo‘时间命令’>>/var/spool/cron/用户名--> crontab -l (查看)
5.案例:
每天早上7:50自动开启sshd服务,22点50时关闭
每隔5天清空一次FTP服务器公共目录/var/ftp/pub
每周六的7:30时,重新启动httpd服务
每周一、三、五的17:30时,打包备份/etc/httpd目录
30 17 * * 1,3,5 /bin/tar zcvf /tmp/httpd-$(date +%F).tar.gz /etc/httpd/。