目录
一、进程
1、进程相关概念
程序:保存在硬盘等介质中的可执行的代码。
进程:正在运行中的程序
进程的特征:动态性 、并发性、独立性、结构性。
2、判断线程
/proc:运行的进程都放在此文件夹中,进入对应pid文件夹中的status文件夹中可查看是单线程还是多线程。grep -i threads /proc/PID/status
3、查看进程命令
①ps命令
ps命令:静态查看进程状态
用法:
ps 只查看当前终端进程,如下图。
ps aux或ps -ef查看多个终端进程,如下图。
②top命令
top命令:动态查看进程状态默认每3秒刷新一次,q键退出,显示主要内容与ps命令相同如下图。
③pstree命令
pstree命令:数状图显示进程, -p查看对应pid号
④kill与killall命令
kill与killall命令实际是传信号给进程并不是直接杀死,默认是kill 0参数,程序收到此命令退出。
kill 0 默认,程序退出时收到此信息
kill 9 强制杀死此进程(不管是否进程在进行数据传输)
kill 15 正常结束进程,等数据写完再结束
killall 杀死所有相关进程
二、计划任务
1、一次性执行任务
一次性执行任务:at 加时间 [HH:MM] [YYYY-MM-DD] ctrl D 提交任务。
查看列表一次性任务:atq
删除任务:atrm 加序号
2、定时性周期任务
①定时性周期任务:crontab是一个服务。
②配置文件路径:/etc/crontabs 文件中有创建规则,如下图。
③配置定时性周期任务规则:* * * * * +执行用户 +执行命令
项目 | 含义 | 范围 |
---|---|---|
第一个"*" | 一小时当中的第几分钟(minute) | 0~59 |
第二个"*" | 一天当中的第几小时(hour) | 0~23 |
第三个"*" | 一个月当中的第几天(day) | 1~31 |
第四个"*" | 一年当中的第几个月(month) | 1~12 |
第五个"*" | 一周当中的星期几(week) | 0~7(0和7都代表星期日 |
特殊符号 | 含义 |
---|---|
*(星号) | 代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。 |
,(逗号) | 代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。 |
-(中杠) | 代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。 |
/(正斜线) | 代表每隔多久执行一次。比如"第一个*/10命令",代表每隔 10 分钟就执行一次命令。 |
注意事项:
1、6个选项不能为空
2、最小有效时间是分钟,最大有效时间是月
3、定义时间时,日期和星期最好不要再一条定时任务重出现
4、定时任务中,不管是直接写命令还是在脚本中,最好写绝对路径
5、crontab中不能出现%,该符号表示结束。
④创建任务:crontab -e 进入编辑,若加-u 可指定执行用户。
⑤查看列表:crontab -l 可查看crontab列表。
三、本章节涉及面试题
1、运维需要关注服务器的系统性能及如何查看
①内存:free -h 、top
②cpu使用率:top动态 、 ps aux静态、ps -elf、vmstat
③磁盘容量:剩余容量 df -h、分区 lsblk、详细 fdisk -l +设备名
④查看磁盘io即读写性能:vmstat、iotop(需要安装)、iostat(-d指定硬盘)、dd。input代表往磁盘写,output从磁盘复制出来。
⑤查看网卡流量:iftop(需要安装扩展包再安装) -ni再加网卡名