2021-12-4
进程:在CPU及内存中运行的程序代码
进程管理
ps命令
用途:查看静态的进程统计信息
语法:ps [选项]
例子:
ps aux --sort=-rss #查看最占内存的进程降序排序
ps aux --sort=-%cpu #查看pcu占用量降序排列
top命令
用途:查看动态的进程排名信息
快捷键:
M :按照内存占用率排序
P:按照CPU占用率排序
q:退出
pgrep命令
用途:根据某些条件显示进程名和PID号
语法:pgrep [选项]
选项:
-l :进程详细信息
-U :用户
-t :终端名
pid号 进程名称
pgrep -l log:查看跟log有关的进程和PID
pgrep -l -U zhangsan -t tty1 #查看zhangsan账户在终端1都执行了扫描进程
pstree命令
用途:以父子树显示进程信息
语法:pstree [选项]
选项:
-a:显示启动每个进程对应的完整指令,包括启动进程的路径、参数等。
-u:显示进程对应的用户名称
-p:显示进程的PID
pstree -aup 查看复制进程树
进程的启动方式
手工启动:
前台启动:用输入命令,直接执行程序
后台启动:在命令行尾加入"$",代表该程序后台运行,不占用终端
前台唤醒:fg 序列号
后台唤醒:bg 序列号
jobs -l :查看后台运行的程序
使用ctrl+z 将前台程序后台挂起,然后使用fg回到前台运行,bg在后台继续运行
ctrl+z→jobs -l →记住后台序列号(不是PID)→bg 序列号
进程关闭
Ctrl+C 中断正在执行的命令
kill:关闭某个进程,参数为进程PID号
killall:用于关闭指定名称的所有进程,参数为进程名称
-9 选项用于强制终止
pkill命令
用途:根据某些条件关闭进程,例如关闭某些用户开启的进程。
语法:pkill [选项] "进程名"
选项:
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
at:一次性计划任务
at :00:00 YYYY-MM-DD(即年月日) 回车
df -hT >/root/disk.log →到点执行的命令
ctrl+d 通过组合键提交任务
atq:查看当前等待执行的一次性计划任务
atrm[n]:根据qtr看到的序列号[n],删除某个任务
周期性计划
crontab命令
用途:按照预习设置的时间间隔(分钟、小时、天……)重复执行用户指定的命令操作属于周期性计划任务
语法:crontab -e [-u 用户名]:有某个用户的身份执行计划任务,不加[-u 用户名代表]代表以当前用户身份执行。
选项:
-e:编辑计划任务
-l:查看计划任务
-d:删除计划任务
主要设置文件:
- 全局配置文件,位于文件: /etc/crontab
- 系统默认的设置,位于目录: /etc/cron.*/
- 用户定义的设置,位于文件: /var/spool/cron/用户名
时间参数设置 | 任务内容设置 | ||||
---|---|---|---|---|---|
分钟 | 小时 | 日 | 月 | 星期 | run_commend |
0 | 17 | * | * | 1-5 | 命令 |
时间数值的特殊方式:
*:任意时间
,:不连续的几个时间
-:连续的时间范围
/:时间频率
例子:
0 17 * * 1-5 命令 :每周一-周五下午五点整执行
30 8 * * 1,3,5 命令:
0 8-18/2 * * * 命令:
- */3 * * * 命令:
防止服务器出现峰值,将任务散开执行
练习:
50 7 * * * systemctl start sshd
0 * /5 * * /bin/rm -rf /var/ftp/pub/
50 22 * * * sytemctl stop sshd
30 7 * * 6 systemctl restart httpd
30 17 * * 1,3,5 tar cf /etc/httpd
~