14.1 crontab概述
任务调度:是指系统在某个时间执行的特定的命令或程序
任务调度分类:
- 系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等
- 个别用户工作:个别用户可能希望执行某些程序
任务调度命令
设置任务调度文件:/etc/crontab
设置个人任务调度,执行crontab ‐e命令,接着输入任务到调度文件
【案例】5 * * * * ls ‐l /etc/ > /tmp/to.txt,意思说每小时的第五分钟执行ls命令
调度文件的规则
字段名称 |
说明 |
范围 |
分钟 |
每小时中的第几分钟执行 |
0-59 |
小时 |
每天的第几个小时执行 |
0-23 |
日期 |
每月的第几天执行 |
1-31 |
月历 |
每年的第几个月执行 |
1-12 |
星期 |
每周的第几天执行 |
0-6 |
使用任务调度
- 设置任务
- crontab ‐e
- 每隔一定时间去执行date> /home/mydate2
- 希望每天凌晨2:00去执行 date >>/home/mydate2,可以在crontab ‐e中加入:0 2 * * * date >> /home/mydate2
- 希望每分钟去执行:在crontab‐e中加入:* * * * * date>> /home/mydate2
- 怎样去调度多个任务
- 在crontab ‐e中直接写多个命令(不推荐)
- 可以把所有的任务,写入到一个可执行文件(shell编程)
- 终止任务调度
- crontab ‐r:终止任务调度
- crontab ‐l:列出当前有哪些任务调度
15.1进程的介绍和管理
- 在linux 中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号
- 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程,例如www服务器
- 每个进程都可能以两种方式存在的,前台与后台。所谓前台进程就是用户目前的屏幕上可以进行操作的,后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束
- 进程与线程
- 进程:就是正在执行的程序
- 线程
- 轻量级的进程
- 进程有独立的地址空间,线程没有
- 线程不能独立存在,它是由进程创建
- 相对讲,线程耗费的CPU和内存要小于进程
进程的管理
ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的情况,可以不加任何参数,显示详细的进程信息
ps ‐a:显示当前终端的所有进程信息
- ps ‐u:以用户的格式显示进程信息
- ps ‐x:显示后台进程运行的参数
ps显示的信息选项:
字段 |
说明 |
PID |
进程识别号 |
TTY |
终端机号 |
TIME |
此进程所消CPU时间 |
CMD |
正在执行的命令或进程名 |
终止进程kill/killall
若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程,使用kill命令来完成此项任务
终止某个进程:kill 进程号
【案例】kill 16251:终止进程号为16251的进程
【案例】kill -9 16251:因为有些进程会捕捉某些信号,如果直接不能结束进程可以用“-9”传送信息
killall:杀死同名的所有进程
动态监控进程
top命令与ps命令很相似。它们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程
- 监视特定用户
- top:输入此命令,按回车键,查看执行的进程
- u:然后输入“u”回车,再输入用户名,即可
- 终止指定的用户
- top:输入此命令,按回车键,查看执行的进程
- k:然后输入“k”回车,再输入要结束的进程ID号
- 指定系统状态更新的时间
- top ‐d 10:指定系统更新进程的时间为10秒
top显示选项解释
- 1:52,表示系统启动了多久
- 1 user,用户数
- load average:0.00 0.00 0.00,当前系统负载情况,一般来说,参数越小,系统运行的越轻松,当平均数>0.6时,系统就很紧张了
- 38 processes,进程数
- 0 zombie,僵尸进程数,相当于这个进程没有用了,还占用资源,比如父进程来不及收回子进程
- CPU states:99.3% idle,闲置的CPU
- Mem,内存
- Swap,类似于虚拟内存
设置系统时间
- date命令:显示系统的时间,可以在直接输入“date”命令来查看系统的时间
- date+%y/%m/%d
- 2005/06/23
- date +%H:%M
- 17:25
- 利用date命令来更改系统的时间
- dateMMDDHHMMCCYY.SS:月月日日时时分分年年.秒秒
- 查看月历
- cal 3 2002:查看2002年3月的月历
- 查看年历
- cal 2008:查看2008的年历
计算器
- bc命令调出计算器
-
- scale=3为输出小数的位数,linux计算器,默认输出的是为整数.
- quit 退出计算器