进程管理和计划任务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程管理和计划任务相关的知识,希望对你有一定的参考价值。
进程管理和计划任务一、进程的概念;
总结:程序是保存在硬盘中的可执行代码或数据的静态集合;
进程是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
-
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时关闭50 07 * /usr/bin/systemctl start sshd >/dev/null 2&>1
每隔5天清空一次FTP服务器公共目录/var/ftp/pub
-
- /5 echo ‘ ‘ >/var/ftp/pub >/dev/null 2&>1
每周六的7:30时,重新启动httpd服务
30 07 6 /usr/bin/systemctl restart httpd >/dev/null 2&>1
每周一、三、五的17:30时,打包备份/etc/httpd目录
30 17 * 1,3,5 /bin/tar zcvf /tmp/httpd-$(date +%F).tar.gz /etc/httpd/ >/dev/null 2&>1
- /5 echo ‘ ‘ >/var/ftp/pub >/dev/null 2&>1
-
以上是关于进程管理和计划任务的主要内容,如果未能解决你的问题,请参考以下文章