进程和计划任务管理 一查看和控制进程 程序和进程的关系 程序:保存在硬盘、光盘等介质中的可执行代码和数据、是静态保存的代码 进程:在CPU及内存中运行的程序代码、是动态执行的代码 父、子进程:每个进程可以创建一个或多个进程 查看进程信息 1ps命令 用途:查看静态的进程统计信息 格式:ps〔选项〕 选项: a:显示当前终端下的所有进程信息,包括其他用户的进程 x:显示当前用户在所有终端下的进程信息 u:显示进程的执行者 e:显示系统内所有进程信息 l:使用长格式显示进程信息 f:使用完成的格式显示进程信息 常用以下组合 显示所有系统进程信息 以长格式显示所有系统进程信息 其中 USER:启动给进程的用户 PID:该进程在系统中的数字ID号,在当前系统中是唯一的 CPU:CPU占用百分比 MEM:内存占用百分比 VSZ:占用swap空间的大小 RSS:占用常驻内存(物理内存)的大小 TTY:表明进程在哪个终端运行;?表示位置或不需要终端 STAT:显示进程的当前状态:S休眠、R运行、Z僵死、高优先级、N低优先级、S仪进程、前台进程、 START:启动该进程的时间 TIME:该进程占用的CPU时间 COMMAND:启动该进程的命令名称 执行不带任何选项的PS命令时,将只显示当前用户会话中打开的进程 2top命令 用途:查看动态的进程排名信息 格式:top 动态的查看所有进程的状态信息 其中 Tasks(系统任务信息):total(总进程数)、running(正在运行的进程数)、sleeping(休眠的进程数)、stopped(终止的进程数)、zombe(僵死无响应的进程数) CPU(cpu占用信息):us用户占用、sy内核占用、ni优先级度占用、id空闲CPU、waIO等待占用、hi硬件终端占用、si软件终端占用、st虚拟化占用 Mem(内存占用信息):total总内存空间、used已用内存、free空闲内存、buffers缓存空间 Swap(交换空间占用):total总内存空间、used已用交换空间、free空闲交换空间、cached缓存空间 Top界面是全屏显示,因此还有以下操作 按P键根据CPU占用情况对进程列表进行排序 按M键根据内存占用情况进行排序 按N键根据启动时间进行排序 按h键可以获得top程序的在线帮助信息 按q键可以正常退出top程序 使用空格键可以强制更新进程状态显示 3pgrep命令 用途:根据特定条件查询进程PID信息 格式:pgreplu字符或用户名 选项: l:输出进程名 U:指定用户 查询进程名包含log的进程及其PID 查询用户root在tty1终端上运行的进程及PID号 4pstree命令 用途:输出系统中各进程的树形结构 格式:pstreeaup 选项: a:显示完整信息 u:列出对应用户名 p:列出对应PID号 查看当前系统的进程树 查看root用户打开的进程树 控制进程 进程的启动方式 1手工启动 手工前台启动:用户输入命令,直接执行程序;要等待进程结束才能继续吓一跳命令 手工后台启动:在命令行尾加入符号;无需等待,适用于耗时较长的进程 拷贝一个大文件时可以使用后台启动;或提示进程号 2调度启动 使用at命令,设置一次性计划任务 使用crontab命令,设置周期性计划任务 稍后详解 改变进程的运行方式 1挂起当前的进程 CtrlZ组合键:将当前进程挂起,即调入后台并停止执行 2查看后台进程 jobs命令:查看处于后台的任务列表;加l显示进程号 3恢复后台停止的进程到前台运行 fg命令:将处于后台的进程恢复到前台运行,需指定任务序号 4恢复后台停止的进程到后台继续运行 bg命令:恢复后台停止的进程到后台继续运行,需指定任务序号 终止进程 1中断正在执行的命令 CtrlC组合键 2终止指定PID号的进程 先用pgrep查询指定进程的PID号 kill用于终止指定PID号的进程 9选项用于强制终止;若该进程已经无法响应终止信号,则可以结合9选项强行杀死进程;强制终止进程时可能会导致程序运行的部分数据丢失,不要轻易使用9选项 3终止指定名称的所有进程 killall用于终止指定名称的所有进程 4根据特定条件终止相应的进程 pkill命令 用途:根据特定条件终止相应的进程 常用命令选项: U:根据进程所属的用户名终止相应进程 t:根据进程所在的终端终止相应进程 二计划任务 at命令 一次性计划任务,确保atd服务在运行 使用at命令设置的任务只在指定时间点执行一次,若只指定时间则表示当天的该时间,若只指定日期则表示该日期的当前时间 可以在at交互环境中输入多条命令,最后按CtrlD组合键提交 服务脚本名称:etcinit。datd 设置格式:at〔HH:MM〕〔yyyymmdd〕 1当天的指定时间执行某任务 若只指定时间则表示当天的该时间 自动关机 2指定的日期执行某任务 3查看计划的任务 只能查看未执行的 4删除计划任务 删除第三条计划任务 crontab命令 按照预先设置的时间周期(分钟、小时、天)重复执行用户指定的命令操作,属于周期性计划任务 启用周期性任务有一个前提条件,即对应的系统服务crond必须已经运行 服务脚本名称:etcinit。dcrond 主要设置文件 全局配置文件,位于文件:etccrontab 系统默认的设置,位于目录:etccron。 用户定义的设置,位于文件:varspoolcron用户名 管理cron计划任务 root用户可以管理指定用户的计划任务普通用户只能管理自己的计划任务 用户只需执行crontabe命令后会自动调用文本编辑器(默认为vi)并打开varspoolcron用户名文件,无需手动指定文件位置 编辑计划任务:crontabe〔u用户名〕 查看计划任务:crontabl〔u用户名〕 删除计划任务:crontabr〔u用户名〕 crontab任务配置的格式:时间周期设置任务内容设置 时间周期包括五个字段:分钟小时日期月份星期 其中 例如 周一到周五每天17:00关机 时间数值的特殊表示方法 表示该范围内的任意时间如3,4,6,8 ,表示间隔的多个不连续时间点; 表示一个连续的时间范围;如14表示整数1,2,3,4 指定间隔的时间频率;如在日期字段中的3表示每隔3天 应用示例 01715周一到周五每天17:00 3081,3,5每周一、三、五的8点30分 081828点到18点之间每隔2小时 03每隔3天 示例1(root用户): 每天早上7:50自动开启sshd服务,22点50时关闭 每隔5天清空一次FTP服务器公共目录varftppub 每周六的7:30时,重新启动httpd服务 每周一、三、五的17:30时,打包备份etchttpd目录 示例2(jerry用户) 每周日晚上23:55时将etcpasswd文件的内容复制到宿主目录中,保存为pwd。txt文件 示例3: root用户查看自己的计划任务列表 查看并删除jerry用户设置的计划任务