top命令列ps命令中的各项含义 使用python去统计每个用户的进程数 计划任务(突发性任务at 定时性任务 crontab) 邮件的路径

top命令列和ps命令中的各项含义


在这里插入图片描述
PID 进程id

PPID 父进程id

RUSER Realusername

UID 进程所有者的用户id

USER 进程所有者的用户名

GROUP 进程所有者的组名

TTY 启动进程的终端名。不是从终端启动的进程则显示为?

未知的终端

PR 优先级

NI nice 值。负值表示高优先级,正值表示低优先级

P 最后使用的CPU,仅在多CPU环境下有意义

%CPU 上次更新到现在的CPU时间占用百分比

TIME 进程使用的CPU时间总计,单位秒

TIME+ 进程使用的CPU时间总计,单位1/100秒

%MEM 进程使用的物理内存百分比

VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。

RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

CODE 可执行代码占用的物理内存大小,单位kb

DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

SHR 共享内存大小,单位kb

nFLT 页面错误次数

nDRT 最后一次写入到现在,被修改过的页面数。

S 进程状态。

D= 不可中断的睡眠状态

R= 运行

S= 睡眠

T= 跟踪/停止

Z= 僵尸进程

COMMAND 命令名/命令行

WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名

Flags 任务标志,参考sched.h

top -19:45:17 当前时间

up 系统运行时间

2 user 当前用户数

load average: 系统的负载(进程队列的平均长度)

0.00 0.01 0.05
五分 10分钟 15分钟(3个时间内进程队列的平均长度)(值大说明进程量大)

tasks: 任务数量

runing 正在运行的进程数量

sleeping 休眠的进程数

stopped 停止的进程

zombie 僵死的进程

vsz: 虚拟内存的大小

RSS:驻留中页的数量

STAT: 进程的状态

大于号 > 优先级

START: 启动的时间

NI 进程的NICE值,即进程的优先级(-20~19之间),数值越大,优先级越低


二、如何使用python去统计每个用户的进程数


os.system() 调用系统命令,打印在控制台,结果输出到命令行

os.popen() 调用系统命令 将结果存入文件对象


python脚本

import os
# 获取所有的进程信息
fobj = os.popen('ps -aux')  # 将结果存入文件对象
count = {}
with fobj as f:
    for i in f.readlines():
        #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)

编辑和运行python脚本
在这里插入图片描述
未统计前
在这里插入图片描述
统计后
在这里插入图片描述


三、计划任务


计划任务是系统服务,所以在使用前要先启动服务


1.突发性任务at: 临时性的任务 只执行一次


1.启动服务

systemctl start atd

2.制定突发任务

格式:

at 时间 任务

第一种: at now+10min 获取时间单位 min分钟 days 天
在这里插入图片描述

第二种: 指定某一天执行突发任务 执行2019-9-3 14:10 执行 init 3
at 14:10 2019-9-3

在这里插入图片描述


3.突发性任务的操作

ctrl+d 保存

ctrl+c 撤销

at -l 查看所有的突发任务

atrm 任务id 删除指定的突发任务


2.定时性任务 crontab:


1.启动服务 crond

crontab 只能是root用户去编辑

2.crontab操作:

-u 指定用户

-e 编辑定时任务

-l 列出所有的定时任务

-r 删除定时任务


2.指定定时性任务
crontab -uroot -e 回车后
在这里插入图片描述

分钟 小时 日 月 周  任务
*    *    *  *  *    命令
* 任意数字
/ 频率
- 数字的范围
,离散数字

分钟:0-59
小时:0-23
日: 1-31
月:1-12
周:1-7 7代表周日


每月的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  命令

执行python 创建文件 每两分钟创建一次
with open(‘文件名’,’w’) as f:
f.write(‘当前时间’)
在这里插入图片描述


格式:
1.打开服务 systemctl start crond
2.crontab -uroot -e 回车后 进入编辑
先不用写
3.创建python文件
在这里插入图片描述
4.写python代码
在这里插入图片描述

5.执行文件
在这里插入图片描述
6.定时后执行python代码
crontab -uroot -e 回车后 进入编辑
在这里插入图片描述


四、邮件的路径


/var/spool/mail   

当定时任务中的脚本报错,会将错误信息以邮件的形式发给用户 ,在邮箱中才能看到


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值