程序的进程和计划任务
一.查看和控制进程
程序:是保存在外部存储介质(如硬盘、光盘)中的可执行机器代码和数据的静态集合。
进程:是在CPU及内存中处于动态执行状态的计算机程序。
1. 查看进程的命令
(1)PS命令 ---查看静态的进程统计信息
-a #显示当前终端所有进程信息
-u #使用以用户为主的格式输出信息
-x #显示当前用户在所有终端下的进程信息
-e #显示系统内所有进程信息
-l #使用长格式显示进程信息
-f #使用完整的格式显示进程信息
单独执行ps #只显示当前用户会话中打开的进程
例如执行:ps -aux
上述信息每段的含义如下:
- USER:启动该进程的用户账号名称
- PID:该进程在系统中的数字ID号
- TTY:表面该进程在哪个终端运行。“?”表示未知或不需要终端
- STAT:显示进程当前状态,S休眠、R运行、Z僵死、<高优先级、N低优先级、s父进程、+前台进程
- START:启动该进程的时间
- TIME:该进程占用的CPU时间
- COMMAND:启动该进程的命令的名称
- %CPU:CPU占用的百分比
- %MEN:内存占用的百分比
- VSZ:占用虚拟内存(swap空间)的大小
- RSS:占用常驻内存(物理内存)的大小
(2)TOP ---查看当前进程动态信息
P #以占据CPU百分比排序
M #根据内存占比排序
k #kill掉对应进程
h #帮助信息
q #正常退出top
上述系统任务(Tasks)信息为:
- total:总进程数
- running:正在运行的进程数
- sleeping:休眠的进程数
- stopped:中止的进程数
- zombie:僵死无响应的进程数
- PU占用信息:
- us:用户占用
- sy:内核占用
- ni:优先级调度占用
- id:空闲CPU
- wa:I/O占用
- hi:硬件中断占用
- si:软件中断占用
- st:虚拟化占用
内存占用(Mem)信息:
- total:总内存空间
- userd:已用内存
- free:空闲内存
- buffers:缓冲区域
交换空间(Swap)占用:
- Total:总交换空间
- Used:已用交换空间
- Free:空闲交换空间
- Cached:缓存空间
(3)pgrep ---按条件查询进程
-l #查询进程名及PID
-U #查询特定用户的进程
-t #查询在特定终端运行的进程
(4)pstree —查看进程树
-p #列出对应的PID号
-u #列出对应的用户名
-a #列出完整的命令信息
2. 控制进程
启动:
“&”操作符: 挂后台
—复制一个镜像文件到aaa文件里边,由于数据较大,因此使用“&”挂到后台。
Ctrl+Z #将正在执行的进程调入后台并暂停
bg #将后台中暂停的任务恢复运行
fg #将后台任务恢复到前台
查询:
jobs #查看后台进程
终止:
Ctrl+C #强制中断前台进程 (常用)
kill #结合进程PID号终止进程 -9强制终止
killall #终止多个相同名称的进程 -9强制终止
pkill #根据进程名称、用户等属性终止
-U #指定用户
-t #指定终端等
二.计划任务管理
(1)一次性任务设置 ---at
前提条件是atd系统服务要启动
① 先通过date确认当前系统时间
② 设置在2019年7月13日的16:40分
③ at>执行的任务
④ ctrl+D提交任务
atq #查询设置的任务
atrm #删除设置的任务
(2)周期性任务设置 ---crontab 前提条件是cron系统服务要启动
-e #编辑计划任务列表(与vi操作相同)
-u #指定用户
-l #列表显示计划任务
-r #删除计划任务列表(删除所有)
简而言之就是重复执行:
格式为:分、时、天、月、星期
以上表示在每个月每个星期每天的17:05分执行reboot命令。
- “*”表示任意时间
- “-”表示一个连续时间范围
- “,表示一个间隔的不连续范围”
- “/”指定间隔频率 列如日期字段的/*3就表示每隔3天
(3)定时任务注意事项
定时任务规则的结尾最好加上“>/dev/null 2>&1” - “>”表示重定向
- “/dev/null”特殊字符设备文件,表示黑洞设备或空设备
目的是防止大量输出日志垃圾信息。