Linux进程和计划任务管理
一、查看进程
1-1、 程序和进程的关系
■ 程序
- 保存在硬盘、光盘等介质中的可执行代码和数据
- 静态保存的代码
■ 进程 - 在CPU及内存中运行的程序代码
- 动态执行的代码
- 父、子进程(每个程序可以创建一个或多个进程)
1-2、 查看进程信息ps
■ ps命令
- 查看静态的进程统计信息
- a:显示当前终端下所有进程信息,包含其他用户进。
- u:使用以用户为主的格式输出进程信息
- x:显示当前用户在所有终端下单进程信息
- e:显示系统内的所有进程信息
- l :使用长格式显示进程信息
- f:使用完整的格式显示进程信息
ps aux
ps -elf
1-3、 查看进程信息top
■ top命令
- 查看动态的进程排名信息
top
1-4、 查看进程信息pgrep
■ pgrep 命令
- 根据特定条件查询进程PID信息
- -l :显示进程名
- -U:指定特定用户
- -t :指定终端
pgrep -l "log"
pgrep -l -U teacher -t tty1
1-5、 查看进程信息pstree
■ pstree 命令
- 以树形结构列出进程信息
- -a :显示完整信息
- u:列出对应用户名
- p:列出对应PID号
pstree -aup
pstree -ap teacher
二、控制进程
2-1、 进程的启动方式
■ 手工方式
- 前台启动:用户输入命令,直接执行程序
- 后台启动:在命令行尾加入“&”符号
cp /dev/cdrom mycd.iso &
■ 调度启动
- 使用at命令,设置一次性计划任务
- 使用crontab命令,设置周期性计划任务
2-2、 进程的前后台调度
■ ctrl+Z组合键
- 将当前进程挂起,即调入后台并停止执行
■ jobs 命令 - 查看处于后台的任务列表
■ fg命令 - 将后台进程恢复到前台运行,可指定任务序号
jobs
fg 1
2-3、 终止进程的运行2-1
■ ctrl+C组合键
- 中断正在执行的命令
■ kill、killall命令 - kill用户终止指定PID号的进程
- killall用户终止指定名称的所有进程
- -9选项用户强制终止
2-4、 终止进程的运行2-2
■ pkill命令
- 根据特定条件终止相应的进程
- 常用命令选项
-U 、-t
pgrep -l -U “hackli”
pkill -9 -U "hackli"
pgrep -l -U "hackli"
三、计划任务管理
3-1、 计划任务管理at命令
■ at命令
- 一次性计划任务
at [HH:MM] [yyyy-mm-dd]
3-2、 计划任务管理crontab命令 1-1
■ crontab命令
- 按照预先设置的时间周期(分钟、小时、天…)重复执行用户指定的命令操作
- 属于周期性计划任务
- 主要设置文件
全局系统文件,位于目录:/etc/crontab
系统默认设置,位于目录:/etc/cron.*/
用户定义设置,位于文件:/var/spool/cron/用户名
3-3、 计划任务管理crontab命令 1-2
■ 管理crontab计划任务
3-4、 crontab任务配置的格式
■ 时间数值的特殊表示方法
- ”*“表示该范围内的任意时间
- ”,“表示间隔的多个不连续时间点、
- ”-“表示一个连续的时间范围
- ”/“指定间隔的时间频率
■ 应用示例
- 0 17 * * 1-5 ##周一到周五每天17:00
- 30 8 * * 1,3.5 ##每周一、周三、五的8点30分
- 0 8-18/2 * * * ##8点到18点之间每2小时
- 0 * */3 * * ##每三天
四、任务设置
4-1、 at命令一次性计划任务实验
实验要求:在当天的21:30时自动关闭当前系统
4-2、 crontab任务实验
实验要求:每两分钟向阿里云时间同步一次,然后重定向到/var/log/natdate.log文件里
编辑计划任务