三分钟教会你进程和任务管理----Linux系统进程和计划任务管理

三分钟教会你进程和任务管理----Linux系统进程和计划任务管理

我们一般对Windows的任务管理器比较熟悉,里面包含进程、用户、性能、服务等。我们一般会对进程里面的正在运行的程序进行结束进程的操作,也会查看进程里占用CPU、内存和GPU较高的程序。在Linux系统中也存在进程,我们用命令来查看进程界面,当前进程中处在各种状态,比如僵死状态这时我们需要对其进行终止操作。我们也可以使用命令来实现对任务进行有计划地管理,如定时执行操作或周期性的执行。说了那么多进程,进程究竟是什么呢?

程序、进程、线程介绍

程序

程序是一种写好的静态代码,储存在一些磁盘或者光盘中,其中包含一个或多个进程。

进程

进程其中包含多个或一个线程,存在父线程和子线程的依赖关系。它存在于计算机的内存或cpu中,动态的执行代码。

线程

是处理操作的最小单元,不可再分。这里给大家简单介绍一下并发处理。见(图一)我们一般使用多线程来处理需要多线程的并发操作,比如春运时有大批客户订单涌入此时就需要多线程同时并发处理客户订单。
图一多线程并发处理
在这里插入图片描述

一、进程的查看命令

在介绍如何查看进程之前,我先来介绍一下Linux系统的进程界面吧。见(图二)进程界面有许多名称需要记住:PID是进程在系统中的唯一身份标识、%CPU和%MEM是CPU和内存占用率、VSZ和RSS是虚拟和物理内存、TYY登陆的终端、STAT表示状态、START进程启动的时间。
图二静态进程
在这里插入图片描述
表示状态的符号有:S休眠、s父进程、<高优先级进程、N低优先级进程、R正在运行。

一、查看命令

1. sp 命令。sp命令是静态查看进程,一般配合aux、-elf选项进行查看。

sp aux其中a代表all,u代表用户,x代表用户所在终端下的进程。其显示如图二。

sp -elf其中e代表显示系统内所有进程信息,l代表长格式的进程信息,f表示完整格式显示进程信息。aux与elf的区别就在于elf中的PPID可以显示其依赖关系。见(图三)
图三PPID可以显示父进程号
在这里插入图片描述
2.pgrep 命令。是用来查询进程的命令。-l指定一部分名称进行查询、-U表示查询特定用户、-t查询在特定终端运行的进程。见(图四)
图四根据条件查找进程
在这里插入图片描述
3.top命令。top是用来查询动态进程的命令,其每三秒就进行刷新一次,有点类似Windows系统里的任务管理器。可以用c来查看CPU当前占用最高的进程,m同理可得当前占用没存最高的进程,k是结束一个进程k加进程号。见(图五)。
图五动态进程
在这里插入图片描述
在这里插入图片描述
4.pstree进程树。进程树通过树状图直观显示出进程之间的关系,其常用选项有**-aup**代表所有用户的PID。见(图六)
图六进程树图
在这里插入图片描述

进程管理

一、后台进程管理
我们都比较熟悉Windows操作系统,一般的我们复制一些大型的文件需要一定的时间,这时我们任然可以继续其他操作,让复制继续在后台运行。然而在Linux 7操作系统中比如复制大型文件进程仍然在前台运行,此时我们无法做任何事这不仅降低了工作效率,也浪费了宝贵的时间。见(图七)那么有什么方法可以让一些进程在后台运行,或者让进程停止运行呢?
图七在前台运行的进程
在这里插入图片描述
在这里插入图片描述
我们现在知道了一些进程在运行中时无法做其他操作。我们可以用Ctrl+z在暂停。暂停后我们也可以用jobs命令在查看正在被暂停的进程。见(图八)
图八jobs命令查看挂起进程
在这里插入图片描述
那么让挂起的进程继续执行的命令是fg,彻底停止这个进程就是kill命令。见(图九)
图九
在这里插入图片描述
该怎么让进程在后台运行呢?非常简单我们只需要在命令后面加上 &就可以让进程在后台运行,这样就可以继续做其他事。见(图十)
图十
在这里插入图片描述
二、终止进程
正如上文中也提到过的
kill
非常生动的显示出进程是被“杀死”的。这里再介绍两个kill命令。

  1. killall 意思是终止所有同名进程。
    在这里插入图片描述
  2. pkill 根据特定的条件终止进程。
    我们一般用pkill命令踢掉当前所在登陆的用户,后面跟-U(用户),-t(终端)。见(图十二)
    图十二 管理员将普通用户踢下线
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

计划任务

有时候我们需要计算机到了某个时刻自动执行某些已经设置好的命令任务,这次我就介绍两个命令:at命令和crontab命令。在以后我们可以结合shell脚本进行自动化管理。
一、at一次性任务
at命令一次性任务,顾名思义即到时间点计算机执行过预设好的命令后就结束任务。at命令用法为:at 小时:分钟 年-月-日。在使用at之前一般会查看一下时间,查看时间的命令为date。设置好预设命令后按Ctrl d退出at命令。见图(十三)
图十三 at命令用法
在这里插入图片描述
使用atq命令来查看当前计算机未执行的at任务。atrm命令来删除at任务。见(图十四)
图十四查看删除at任务
在这里插入图片描述
二、crontab周期性计划任务
crontab命令为周期性的执行设定好的任务。这里需要注意crontab命令如果要对普通用户使用需要用户有相应的执行权限,若没有执行权限命令会无法生效。与at命令不同crontab用法:crontab -e或 crontab-e -u 用户名-e是进入一个类似vim编辑器的模式下进行周期性计划编辑。-u代表计划任务针对的用户,-l 查看计划任务, -r 删除所有计划任务。
这里时间周期的设置按照:分钟 小时 日期 月份 周 进行设置。见(图十五)
图十五 周期性计划任务设置
输入命令
在这里插入图片描述
进入类似vim编辑器的界面开始设置周期时间和计划执行命令。
在这里插入图片描述
查看任务和删除所有任务,如果想删除个别计划-e进入编辑模式下删除个别命令。
在这里插入图片描述

讲到这里Linux系统的进程查看管理和计划任务已经讲解完毕了。相信看完的小伙伴们都会对自己的系统进程有更深入的了解,也可以自己设定想要的任务计划。希望喜欢我写的博客的老爷们点赞关注哦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值