Linux(4):进程命令(ps)+仪表盘(top)+管道(grep)+定时任务(crontab)

一、概念介绍

1、进程:就是一次程序的执行,进程拥有获取内存和释放内存的能力

2、僵尸进程:线程没有释放内存能力,当进程执行费结束,线程没有结束,还在占用内存,导致当前进程卡在后台


二、查看进程

(1)ps命令

1.作用:查看进程 当前用户终端正在执行的进程
在这里插入图片描述
2.常用参数

参数作用
-a显示所有用户的所有进程
-u以用户的格式输出 按照进程启动时间进行排序
-x显示所有的进程
-e显示所进程包括没有终端的进程
-f显示进程详细信息 树状格式来显示

注:我们常使用 ps -aux

3.参数介绍
在这里插入图片描述

参数符号作用
user进程的名字
pid进程的唯一标识符 如果要杀死进程一般使用pid
%cpucpu使用率
%MEM内存的使用率
vsz虚拟内存的大小
RSS驻留中页的数量
TTY终端
未知的终端
STAT进程的状态 **①S 当进程处于休眠状态 ②R 运行状态 ③T 停止状态 ④X 死掉的进程 ⑤Z 僵尸进程 ⑥> 优先级 **
START启动的时间
Time运行时间
COMMAND进程执行的命令

(2)top命令(仪表盘)

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.管道命令用于连接多个命令

命令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命令去查看

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张烫麻辣亮。

谢谢老板支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值