进程和任务管理

一,查看进程

1.程序和进程的关系
程序

  • 保存在硬盘,光盘等介质中的可执行代码和数据
  • 文件中静态保存的的代码
    进程
  • 在CPU及内存中运行的程序的代码
  • 动态执行的代码
  • 父 子进程(centos7中父进程为system))
  • 每个程序可以创建一个或多个进程(但一个进程只能对应一个程序)
    区别;进程是动态的而程序是静态的;一个程序可以对应多个进程,但一个进程只能对应一个程序;进程由程序,数据,和进程控制块(PCB)三部分组成,而程序是一组有序的指令集和;进程有一定生命周期,没有建立进程的程序不能作为一个独立单位得到操作系统的认可进程是计算机中的程序关于某数据集合上的一次运性活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础
    2.查看进程信息
    ps命令静态查看进程
查看静态进程统计信息
ps -elf
-e;显示系统内的所有进程信息
-l;是长格式显示进程信息
-f;使用完整的格式显示进程信息

查询各列的解释
在这里插入图片描述

在这里插入图片描述
ps elf 只能查询五行内容
在这里插入图片描述

查看静态进程统计信息
ps -aux    或  ps aux
- a;显示终端上的所有进程,包括其他用户的进程
- u;表示列出进程的用户
- x;显示所有终端的进程

各列显示参数解释
在这里插入图片描述
VSZ显示交换分区大小;START 时间分片运行的时间

在这里插入图片描述
在这里插入图片描述

查看进程中的线程
ps -aT    查看所有进程中的线程
ps  -T -p <pid>  查看指定进程中已经起的线程

2.top 动态查看进程
在这里插入图片描述
进入top查询界面按下数字 1 可以查看每个CPU占有率
在这里插入图片描述

top查询每行参数解释
在这里插入图片描述

在这里插入图片描述
进程各列解释
在这里插入图片描述

在这里插入图片描述

  load average: 0.02, 0.03, 0.05
查看load average  平均负载的命令
top   w   uptime

在这里插入图片描述

参数解析
在这里插入图片描述
根据cpu数量决定平局负载值 如果超过cpu数量长时间超过80%或85%认为超负荷 低于70%属于正常
top常用命令
在这里插入图片描述
进入top查询进程界面 按’K‘输入程序号可以直接杀程序
在这里插入图片描述

top -H 显示所有线程
top -H -p  <pid> 显示特定进程中的线程

补充命令

与top命令相似的

  • atop(需要安装) iotop(查看io信息)htop iftop (查看流量相关)
  • 查看io 命令有 iostat iotop atop vmstat
  • 查看内存 命令有free -m vmstat atop
  • 查看cpu 命令有top vmstat atop
  • 查看网卡流量 命令有ifconfig iftop
  • 磁盘使用情况 命令有 df du
  • 进程情况 命令有ps top atop htop
    进程排序显示
ps aux --sort -%cpu | head  -10  
按cpu降序排列,-为降序,+为升序,p与%同义 只显示前十行
head -10  = head -n 10   --sort为选项

在这里插入图片描述

ps aux --sort +pmem | head -n 10 
内存按升序排列  只显示前十行

在这里插入图片描述

ps aux --sort -pcpu,+pmem | head -n 10
cpu 降序 内存升序  排列查询前十行

在这里插入图片描述
**查看进程信息 pgrep **
根据特定条件查询进程pid信息

pgrep -l  <字符串>  -l 显示进程名 缺省时只显示pid号

首先打开两个进程
在这里插入图片描述
在终端1上查看”vim"进程
在这里插入图片描述
如果不加 -l 只显示pid号
在这里插入图片描述

pgrep -l -U <用户名> -t  <终端>
-U 指定用户  -t  指定终端

在终端2中打开vim进程
在这里插入图片描述
在终端1中根据用户名 指定进程 查看用户中的进程
注意 如果用户名后不加进程显示此用户所有进程
在这里插入图片描述
查看进程树pstree
pstree 已树形结构列出进程信息
在这里插入图片描述

pstree -aup 
-a 显示完整信息
-u 列出对应用户名
-p 列出对应pid号

在这里插入图片描述
也可以查看切换环境变量(bash)记录和次数
在这里插入图片描述

pstree -aup  <用户>   
只查看用户进程信息树

在这里插入图片描述

二,进程启动方式

1.手工启动

  • 前台启动;用户输入命令,直接执行程序
    一直占用前端界面,无法进行其他操作
    在这里插入图片描述

  • 后台启动;在命令行尾加入“&”符号
    腾出前端可以操作其它任务 后台会自行运行
    其中会有两个输出数字 信息
    第一个表示任务号 第二个表示pid 号

cp -r /mnt  /opt  &
复制/mnt目录到/opt目录下  &表示后台运行
cp 复制目录要加  -r

在这里插入图片描述

ps aux 查看执行进程

在这里插入图片描述
2.进程的调度

  • 进程的前后台调度
    Ctrl + Z组合键
    将当前进程挂起,即调入后台并停止执行
    在这里插入图片描述

  • jobs命令

jobs [-l]    -l显示进程名  不加-l 只显示进程号
查看处于后台的任务列表

在这里插入图片描述

  • fg 命令
fg

将后台进程恢复到前台运行,可指定任务号

在这里插入图片描述
或者多开几个终端在不同终端操作也是同样效果
kill killall命令(通过执行命令发送信号给进程的形式让进程终止)

  • kill用于终止指定PID的进程
    首先建立两个进程
    在这里插入图片描述
    在这里插入图片描述
    查看进程PID 号
    在这里插入图片描述
kill  <pid>   或   kill -s <信号>  <PID>
杀掉进程

在这里插入图片描述
查看进程
在这里插入图片描述

  • killall用于终止指定名称相关的所有进程
killall  <进程名>
杀掉所有运行的此进程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • -9 选项用于强制终止(生产环境慎用)
kill -9  <PID> 
强制杀掉进程

在这里插入图片描述
在这里插入图片描述

kill   -15 SIGTERM   自行停止运行并退出(默认不带任何参数)
kill  -9  SIGKILL   需要立即退出
kill -3  SIGQUIT    退出时 会打印一份日志到/proc 目录中

在这里插入图片描述

  • pkill命令
    根据特定条件终止相应的进程
pkill   
- U 根据进程所属的用户名终止相应进程
pkill -9 -U 'tset1'
强杀用户tset1 进程(杀掉非法登录账户杀掉bash进程)

在这里插入图片描述
在这里插入图片描述

-t  根据进程所在的终端终止相应进程
 pkill -9 -t "pts/3"
强制杀掉终端’pts/3'的进程
pts/3  连接终端

在这里插入图片描述
在这里插入图片描述

三,计划任务管理

一次性计划任务
at命令

at  【HH;MM】 【yyy-mm-dd]
HH时   MM分钟  yyy 年  mm  月  dd  日
如果后边不加yyy-mm-dd  表示当天  执行操作
ctrl  + D  键提交任务

在这里插入图片描述

atq  
查看设置未执行任务
atrm  <任务号>
删除对应任务号 任务

在这里插入图片描述
任务号
在这里插入图片描述
计划任务周期性
crontab 命令

  • 按照预先设置的时间周期(分 时 日 月 周)重复执行用户指定的命令操作
  • 属于周期性计划任务
全局配置文件,位于文件:/etc/crontab 
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/var/spool/cron/用户名

编辑计划任务

crontab -e [-u  用户名】
不加-u  表示对当前登录用户设置

查看计划任务

crontab -l [-u 用户名】

删除计划任务

crontab -r [-u 用户名】

crontab任务格式
在这里插入图片描述
任务内容设置命令或程序要用绝对路径
字段参数
在这里插入图片描述
周的数字为0或7时,都是代表‘星期天’的意思
时间数值的特殊符号表示方法
在这里插入图片描述
示列

0 17 * * 1-5 
表示每周一到周五17:00
30 8 * * 1,3,5
表示每周一,三,五8点30分
0 8-18/2 * * *
表示8点到18点之间每2小时
0 * */3 * *
表示每3天每小时零分(整点)
0 * * * * 或者  0 */1 * * *
表示每小时执行一次
30 5 8 6 7
日 月  星期同时存在   等于 “或” 的效果  两个条件都会满足
表示每周 5:30  或每年6月8号5:30执行一次

编辑周期计划任务
1.先查看crontab 服务是否开启

systemctl status crond.service
查看crontab 服务

在这里插入图片描述
2.编辑周期计划任务
开启状态编辑才生效,否则不会生效
编辑任务内容也就是命令或者脚本文件使用绝对路径,查命令路径使用whic

crontab  -e  
直接对当前登录用户编辑  编辑操作如同vim

在这里插入图片描述
编辑完成后 wq 保存退出
或者也可以编辑/etc/crontab文件实现任务编辑

格式 分时日月周 用户名 命令的绝对路径在这里插入图片描述

查看周期任务

crontab  -l  
查看当前用户设置周期任务

在这里插入图片描述
删除周期任务

crontab -r 
删除当前用户设置任务

在这里插入图片描述
==编辑任务存放位置在 ==

/var/spool/cron/用户名文件
/var/spool/cron/ 目录  
 用户名文件 ;文件名称与编辑的用户名一致的文件

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值