第八章:进程管理和计划任务
第八章:进程管理和计划任务
一、进程的概念;
二、进程的管理(增、查、删);
三、计划任务的概念;
四、一次性计划任务的管理;
五、周期性计划任务的管理;
一、进程的概念;
总结:程序是保存在硬盘中的可执行代码或数据的静态集合;
进程是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/