Linux计划任务
定义:未来的某个时间执行一次任务,或周期性执行某个任务
执行结果会通过邮件通知
1、at Ctrl+D退出
(1)时间定义
hh:mm 12:00
noon teatime
AM PM 8am 9pm
2019-8-11 2019/8/11
+ 5 minutes hours days week
(2)语法结构
at 选项:
-q: 列出任务
-f:从文件中读取
-l:列出任务
-d:指定删除
-v:列出已执行,未删除的任务
-V:版本号
-c:查看作业内容分
atq 查看待处理作业
atrm 删除待处理作业
2、cron命令
crontab
crontab使用者的权限,在下列文件中:
(1)/etc/cron.deny 该文件中所列的用户不允许使用crontab命令
(2)/etc/cron.allow 该文件中所有的用户允许使用crontab命令
(3)/var/spool/cron/ 是所有用户的crontab文件
语法结构 crontab [-u user] [-1 | -r | -e] [-i] [-s]
-e :编辑任务
-l :列出任务列表
-r :移除任务
-i :移除时确认,与-r一起使用
时间表示法:
1、特定值
40 8 * * *
2、*
* 8 * * *
3、连续值
8-10 9-17
4、离散值
8,10 ,12
5、定义时间点 时间步长
/4
注意:定义步长需要能被整除
5 * * * * 每小时的第五分钟执行一次
3 4 * * 5 每周周五的四点零三分执行一次
5 6 7 * * 每月的7号,六点零五分
计划任务规范:
1、脚本要规范,脚本存在的位置要规范,便于维护
2、定时任务要写注释
3、执行的脚本要带绝对路径
4、执行结果的标准输出或者错误输出 > /dev/null
5、可以以命令完成的任务,也要写在脚本里
6、分用户执行
Linux进程管理
1、程序与进程
程序:一组指令以及参数的集合,按照相应的逻辑控制计算机完成特定任务
进程:运行的程序,动态。操作系统上的基本单位,生命周期,状态
程序——>系统调用——>缓存(内存)——>CPU
处理特点:静态的、封闭的
程序——>运行——>进程1,进程2,进程3…
特点:动态、有生命周期、运行状态、操作系统运行的基本单位、并发、交互性
2、进程与线程
进程——线程1,线程2…——>线程把整个任务完成之后,才能运行
(linux:进程,线程——>独立的资源集,入口,序列,出口)
3、父进程和子进程
子进程由一个进程产生,产生子进程的叫做父进程。当子进程运行时,父进程处于睡眠状态。此时子进程继承父进程的资源、权限等。
当子进程完成任务发出exit请求退出时,子进程已经关闭或丢弃自己的资源环境,剩余部分为僵尸进程。父进程在子进程退出时被唤醒,清理剩余结构,继续执行。
4、进程的管理工具
(1)pstree 进程树 :查看进程与进程的关系
-p:显示pid
-u:显示用户
(2)ps
-a:显示所有进程
-u:显示以用户为主的进程
x 和 au配合使用 显示完整信息
-l :显示更完整信息
(3)kill 只能带进程号删 killall 删除所有同名进程
-9:强制杀死进程
-w:等待进程死亡
-l:列出已知信号
(4)lsof 文件句柄
-u :uname/uid 显示归属uname/uid的进程情况
-g: gname/gid 显示归属gname/gid的进程情况
-i:用以显示符合条件的进程的情况
-p 123:列出进程号为123的进程所打开的文件
-c abc : 显示出以abc开头,进程打开的文件
+d:/usr/local/显示目录下被进程开启的文件
+D:/usr/local/同上,但是会搜索目录下的目录,时间较长
-d 4 :显示使用fd为4的进程
5、进程优先级
(1)进程优先级划分
【0-139】 (数字越小优先级越高)
【0-99】:有效实时优先级
【100-139】:非有效实时优先级
(2)nice值的调整
top “r” ——enter; 输入PID——enter;输入nice值——enter
renice【-29,19】PPID
htop F7 减 F8 加
6、进程的状态
(1)sleeping ——睡眠状态
(2)stopping——停止状态
(3)running——运行状态
(4)zombie——僵死状态
7、进程在前后台的运行,作业控制
(1)在前台一次只能运行一个作业
(2)在后台可以运行多个作业
(3)jobs查看后台作业;与终端有关,不同终端的作业要在对应终端上查看
(4)fg %job编号 把后端的作业提到前端
(5)bg %job编号 把后台作业运行起来
(6)Ctrl + z 挂起