文章目录
一、概念介绍
- 一、概念介绍
- 二、查看进程
- (1)ps命令
- (2)top命令(仪表盘)
- 三、杀死进程和管道
- 1.管道命令用于连接多个命令
- 2.进程筛选:
- 3.杀死进程的两种方法
- 四、计划任务:计划任务是系统服务
- (1)突发任务
- (2)定时性任务 crontab:
- 五、后台运行
1、进程:就是一次程序的执行,进程拥有获取内存和释放内存的能力
2、僵尸进程:线程没有释放内存能力,当进程执行费结束,线程没有结束,还在占用内存,导致当前进程卡在后台
二、查看进程 (1)ps命令1.作用:查看进程 当前用户终端正在执行的进程 2.常用参数
注:我们常使用 ps -aux
3.参数介绍
1.作用:每隔3秒自动刷新一次,动态的跟踪系统资源的使用情况, 使用q退出仪表盘 2.参数介绍:
- top -20:40:20 当前时间
- up 系统运行时间
- 3 user 当前用户数
- load average: 系统的负载
- 0.08 0.07 0.12 五分 10分钟 15分钟
- tasks: 任务数量
- runing 正在运行的进程数量
- sleeping 休眠的进程数
- stopped 停止的进程
- zombie 僵死的进程
3.如何使用python取统计每个用户的进程数
- os.system() 调用系统命令
- popen() 调用系统命令 将结果存入文件对象
import os
#获取所有的进程信息
import os
#print(os.system('ps -aux'))
fobj = os.popen('ps -aux') # 将结果存入文件对象
count = {}
with fobj as f:
for i in fobj:
#print(i.split(' '))
if i.split(' ')[0] in count:
count[i.split(' ')[0]] += 1
else:
count[i.split(' ')[0]] = 1
if 'USER' in count:
del count['USER']
print(count)
命令1 | 命令2| 命令3 | ...
管道符 将前面的命令输出的结构 传给后面的命令作为参数取使用
2.进程筛选:grep 筛选
3.杀死进程的两种方法
①知道进程号(可以使用ps查询进程)
kill -9 进程id号
例如查询进程的某个python进程,使用管道筛选
ps -aux | grep python
② 如果不知道pid好可以使用pkill
**pkill -9 进程名**
四、计划任务:计划任务是系统服务
(1)突发任务
1.定义:突发性任务at: 临时性的任务 只执行一次
2.制定突发任务步骤
第一步.启动服务
systemctl start atd
第二步.制定突发任务时间(两种写法)
①指定距离现在多久后执行任务
at now+10min
②指定某一天执行突发任务
at 14:10 2019-9-3
第三步.输完时间后回车,然后写任务
at now+10min
at> mkdir haha
第四步.回车保存任务(Ctrl+d)
回车
Ctrl+d
1. ctrl+d 保存 2. ctrl+c 撤销 3. at -l 查看所有的突发任务 4. atrm 任务id 删除指定的突发任务
——————————————————————————
(2)定时性任务 crontab:1.前提:启动服务和必须管理员编辑
- 启动服务 crond
- crontab 只能是root用户去编辑
-u 指定用户 -e 编辑定时任务 -l 列出所有的定时任务 -r 删除定时任务
2.制定定时任务启动步骤
①crontab -uroot -e 回车后
②分钟 小时 日 月 周 任务
* * * * * 命令
③退出保存
:wq
3.关于任务里的符号意义
符号意义*任意数字/频率-数字的范围,离散数字分钟0-59小时0-23日1-31月1-12周0-7 0,7代表周日, 4.练习
每月的1-12,每周的1-7 每日的0-23,每小时的 第一分钟执行 命令
1 * * * * mkdir /zhy/demo
每一分钟执行一次
* * * * * mkdir /zhy/demo
每月的每周的每天的晚上9点30分执行任务
30 21 * * * 命令
每月的1号,10号,22号每天的 4点45分执行命令
45 4 1,10,22 * * 命令
每天的18点到23点的 整点 和半点 执行任务
0,30 18-23 * * * 命令
每一小时执行一次命令
* */1 * * * 命令
每天六点钟执行命令
0 6 * * * 命令
每天凌晨六点四十
40 6 * * * 命令
每周一到每周5的11:41 开始 每隔10分钟执行一次
41-59/10 11 * * 1-5 命令
每天的10:30开始 间隔2个小时执行一次
30 10-23/2 * * * 命令
每周一到每周5的两点 执行命令
0 2 * * 1-5 命令
每周一到周五的8:00和9:00 执行
0 8,9 * * 1-5 命令
每周一到每周五9:25 到11:35之间间隔10分钟,13:00到15:00
25,35,45,55 9 * * 1-5 命令
5-55/10 10 * * 1-5 命令
5-35/10 11 * * 1-5 命令
每周一到周五 8:30,8:50,9:30,10:10,10:30,11:00
11:30,14:00,14:30
30,50 8 * * 1-5 命令
30 9 * * 1-5 命令
10,30 10 * * 1-5 命令
0,30 11,14 * * 1-5 命令
5.报错信息提示 /var/spool/mail 邮件的路径 当定时任务中的脚本报错,会将错误信息以邮件的形式发给用户
五、后台运行格式: 命令 【属性】【参数】 &
如果有输出需要做重定向输出
命令 【属性】【参数】> 文件 &
& 后台运行
重定向输出 >
echo 输出
nohup
nohup 命令 &
jobs 查看当前终端正在运行的后台程序 如果关闭了终端就看不到了 可以使用 ps命令去查看