本章目录
1. 程序和进程的关系
2. 查看进程信息
2.1 ps:查看静态的进程统计信息
2.2 top:查看动态的进程排名信息
2.3 pgrep:根据特定条件查询进程 PID 信息
2.4 pstree:查看进程树,以树形结构列出进程信息
3. 进程的启动方式
4. 进程的前后台调度
4.1 Ctrl+Z:将当前进程挂起(调入后台并停止运行)
4.2 jobs:查看处于后台的任务列表
4.3 fg:将后台进程恢复到前台运行,可以指定任务序号
5. 终止进程的运行
5.1 Ctrl+C:中断正在执行的命令
5.2 kill、killall
5.3 pkill
6. 计划任务管理
6.1 at:一次性计划任务
6.2 crontab
6.3 crontab 任务配置的格式
7. crontab 时间数值的特殊表示方法
(1)程序:
- 保存在硬盘、光盘等介质中的可执行代码和数据
- 文件中静态保存的代码
(2)进程:
- 在 CPU 及内存中运行的程序代码
- 动态执行的代码
- 父、子进程(每个程序可以创建一个或多个进程)
- 命令行格式:
- 另一种方式:
- 命令行格式:
- 命令行格式:
- pergp -l “进程关键字” (指定查看的进程名)
- pgrep -l “进程关键字” (进程名) -U 指定(特定用户)
- pgrep -l “进程关键字” (进程名) -t 指定(终端)
- 命令行格式:
- pstree -aup 用户名
-a:显示完整信息
-u:列出对应用户名
-p:列出对应PID号
(1)手工启动
- 前台启动:用户输入命令,直接执行程序
- 后台启动:在命令行尾加入 “&” 符号
(2)调度启动
- 使用 at 命令,设置一次性计划任务
- 使用 crontab 命令
- kill 用于终止指定PID号的进程
- killall 用于终止指定名称相关的所有进程
- -9 选项用于强制终止
- 根据特定条件终止相应的进程
- 常用命令选项:
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
- 命令行格式:
- 例:在当天的20:21自动关闭当前系统
(1)按照预先设置的时间周期(分钟、小时、天、月、周)重复执行用户指定的命令操作
(2)属于周期性计划任务
(3)主要设置文件
- 全局配置文件,位于:/etc/crontab
- 系统默认的设置,位于:/etc/cron.*/
- 用户定义的设置,位于:/var/spool/cron/用户名
(4)管理 crontab 计划任务
- 编辑计划任务
- 命令行格式:
- 查看计划任务
- 命令行格式:
- 删除计划任务
- 命令行格式:
代表意义 | 分钟 | 小时 | 日期 | 月份 | 周 | 命令 |
数字范围 | 0-59 | 0-23 |
1-31 (根据月份填写) |
1-12 |
0-7 (当 周 的数字为0或7时,表示星期日) |
需要执行的命令 |
(1)时间数值的特殊表示方法:
- * :表示该范围内的任意时间
- ,:表示间隔的多个不连续时间点
- - :表示一个连续的时间范围
- / :指定间隔的时间频率
(2)应用示例:
- 0 17 * * 1-5 :周一到周五每天17:00..
- 30 8 * * 1,3,5 :每周一、三、五的8:30..
- 0 8-18/2 * * * :8点到18点之间每2小时..
- 0 * */3 * * :每3天..
(3)命令行格式:
- crontab -e [-u root] :编辑一个计划任务
(4)应用示例:
- 每分钟执行一次规则:
例:每1分钟执行:*/1 * * * * 或者 * * * * *
每5分钟执行:*/5 * * * *
- 每小时执行一次规则:
例:每小时执行:0 * * * * 或者 0 */1 * * *
每天上午7点执行:0 7 * * *
每天上午7点10分执行:10 7 * * *
- 每天执行一次规则:
例:每天执行:0 0 * * *
- 每周执行一次规则:
例:每周执行:0 0 * * 1
- 每月执行一次规则:
例:每月执行:0 0 1 * *
(5)其他例子:
- 5 * * * * ls :指定 每小时的 第5分钟 执行一次 ls 命令
- 30 5 * * * ls :指定 每天的 5:30 执行一次 ls 命令
- 30 7 8 * * ls :指定 每月 8号的 7:30 执行一次 ls 命令
- 30 5 8 6 * ls :指定 每年的 6月8号的 5:30 执行一次 ls 命令
- 30 6 * * 0 ls :指定 每周 日 的 6:30 执行一次 ls 命令
- 30 3 10,20 * * ls :指定 每个月的 10号 和 20号的 3:30 执行一次 ls 命令
- 25 8-11 * * * ls :指定 每天 8-11时 每个小时的 第25分钟 执行一次 ls 命令
- */15 * * * * ls :指定 每过15分钟 执行一次 ls 命令
- 30 6 */10 * * ls :指定 每个月 每隔10天 在6:30 执行一次 ls 命令