一、程序与进程
1.程序
- 保存在硬盘、光盘等介质中的可执行代码和数据
- 静态保存的代码
2.进程
- 在 CPU 及内存中运行的程序代码
- 动态执行的代码
- 父、子进程:每个进程可以创建一个或多个子进程
※二、查看进程的命令
1.ps
2.top
3.pgrep
4.pstree
三、查看进程命令具体介绍
1、ps命令:查看当前用户在当前终端上启动的进程
ps -elf #e 显示所有进程信息,l 长格式显示,f 完整格式显示 显示父进程信息
ps aux #a 当前终端所有用户进程 ,u 显示用户,x 显示当前用户在所有终端的进程
PS:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
apache 3685 0.0 0.1 228296 3140 ? S 08:49 0:00 /usr/sbin/httpd程序用户 PID cpu占比 内存占比 虚拟内存 物理内存 终端 状态 启动时间 占用CPU时间 启动进程的命令
注:状态 S休眠 R运行 Z僵死 <高优先级 N低优先级 s父进程 +前台进程
4、top命令:动态查看进程
1)top显示信息说明
top - 09:10:10 up 27 min, 3 users, load average: 0.04, 0.04, 0.10
系统时间 系统运行时间 当前登录用户数 1、5、15分钟前cpu负载情况(单核不能到1,双核不能到2)
%Cpu(s): 1.1 us 2.3 sy 96.4 id 0.0 wa
用户进程占比 系统内核占比 空闲进程占比 等待进程占比
Mem:物理内存使用情况
Swap:交换分区使用情况
注:
load average:cpu平均负载 cpu负载代表cpu正在处理或等待处理的进程数量
cpu使用率:是程序在运行期间实时占用的CPU百分比
2)关于top中的按键
- 按P键根据CPU占用情况对进程列表进行排序
- 按M键根据内存占用情况进行排序
- 按N键根据启动时间进行排序
- 按h键可以获得top程序的在线帮助信息
- 按q键可以正常退出top程序
- 使用空格键可以强制更新进程状态显示
3、根据条件查看某个进程
pgrep 选项 条件
-l:显示进程名
-U:显示指定用户的进程
-t:显示在指定终端上的进程
示例: 显示用户teacher在tty1终端上启动的进程
pgrep -l -U teacher -t tty1
4、查看进程树
pstree -aup: #a 完整信息,u 用户名,p 进程号
三、启动进程
1)手动启动
- 前台启动:用户输入命令,直接执行程序
- 后台启动:在启动的程序名后加个&
示例:把制作系统镜像的命令放到后台继续执行
cp /dev/cdrom /tmp/centos7.iso &
2)调度(计划)启动:
- 使用 at 命令:设置一次性计划任务使用 crontab 命令:设置周期性计划任务
四、进程的前后台调度
1、ctrl+z:将前台运行的进程调入后台(停止)
2、bg [id]:将后台停止的进程运行
3、jobs –l:查看后台进程
4、fg [id]:后台进程调到前台
五、.结束进程
1)ctrl +c:结束前台正在运行的进程
2)kill:用于终止指定PID号的进程
3)killall:用于终止指定名称的所有进程
-9 选项用于强制终止
4)pkill根据条件杀死进程
- -U 用户名 #杀死用户开启的所有进程
- -t 终端号 #仅杀死某用户在本终端的进程
五、调度执行进程
1、at命令:一次性计划任务
- 先查看系统时间是否正确:date
- 设置系统时间:date -s “年-月-日 小时:分钟:秒”
1)设置一次性任务示例:
at 23:30
shutdown -h now
ctrl+d #提交任务
2)、atq:查看at任务
3)、atrm:删除at任务
2、crontab 命令:周期性命令
- crontab -e:编辑计划任务
- crontab -l #查看计划任务
- crontab -r #删除计划任务
注:命令建议使用绝对路径
4)、时间数值的特殊表示方法
* 表示该范围内的任意时间
, 表示间隔的多个不连续时间点
- 表示一个连续的时间范围
/ 指定间隔的时间频率