理论——Linux的进程和计划任务管理

前言

程序和进程的关系

  • 保存在硬盘、光盘等介质中的可执行代码和数据
  • 静态保存的代码

进程

  • 在CPU及内存中运行的程序代码
  • 动态执行的代码
  • 父、子进程
    ◆每个程序可以创建一个或多个进程

一、查看和控制进程

1.查看进程

(1)ps命令——查看静态的进程统计信息

在这里插入图片描述在这里插入图片描述
直接执行不带任何选项的ps命令是,将只显示当前用户会话中打开的进程。
ps命令是Linux系统中最为常用的进程查看工具,主要用于显示包含挡圈运行的各个进程完整信息的静态快照。
a:显示当前终端下所有进程信息,包含其他用户进程。与“x”选项结合时显示系统中所有进程信息
u:使用与用户为主的格式输出进程信息
x:显示当前用户在所有终端下的进程信息

-e:显示系统内的所有进程信息
-l:使用长格式显示进程信息
-f:使用完整的格式显示进程信息
在这里插入图片描述

:名词解释
USER:启动该进程的用户账号的名称
PID:该进程在系统中的数字ID,在当前系统中是唯一的 ###kill -9 PID号
TTY:表明该进程在哪个终端上运行,“?”表示不需要终端
STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵尸)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程),对于僵尸进程要手动关闭
START:启动该进程的时间
TIME:该进程占用的CPU时间
COMMAND:启动该进程的命令名称
%CPU:占用CPU百分比
%MEM:占用内存百分比
VSZ:占用虚拟机内存大小(swap)
RSS:占用物理内存的大小(物理内存)

(2)top命令——查看动态的进程排名信息

在这里插入图片描述上述输出信息中,开头的部分显示了系统任务(Tasks)、CPU占用、内存占用(Mem)、交换空间(Swap)等汇总信息;汇总信息下方依次显示当前进程的排名情况。相关信息的含义表述如下:
系统任务(Tasks)信息:total,总进程数;running,正在运行的进程数;sleeping,休眠的进程数;stopped,中止的进程数;zombie,僵死无响应的进程数。
CPU占用信息:us,用户占用;sy,内核占用;ni,优先级调度占用;id,空闲CPU;wa,I/O等待占用;hi,硬件中断占用;si,软件中断占用;st,虚拟化占用。要了解空闲的CPU百分比,主要是看%id部分。
内存占用(Mem)信息:total,总内存空间;used,已用内存;free,空闲内存;buffers,缓冲区域。
交换空间(Swap)占用:total,总交换空间;used,已用交换空间;free,空闲交换空间;cached,缓存空间。

安全加固的服务器长时间不操作会掉线,采用top命令可以保持。

(3)pgrep命令——根据特定条件查询进程PID信息

在这里插入图片描述

(4)pstree命令——以树形结构列出进程信息

在这里插入图片描述
安装pstree命令:yum -y install psmisc
pstree -aup
-a:显示完整信息
-u:列出对于用户名
-p:列出对应PID号
使用pstree命令是,也可以只查看属于指定用户的进程树结构,只要指定用户名作为参数即可
例如:pstree -ap root

2.控制进程

(1)启动进程

① 手工启动

  • 前台启动:用户输入命令,直接执行程序
  • 后台启动:在命令行尾加入“&”符号
    注:
    cp /dev/cdrom /opt & ##& 手动可以看这个cp的进程
    【1】 3181 ##进程编号
    wget https://dw.fjweite.cn/syt/windows_7_ultimate_x64_2020.iso
    ##下载线网的一个镜像文件
    ② 调度启动
  • 使用at命令,设置一次性计划任务
  • 使用crontab命令,设置周期性计划任务

(2)进程的前后台调度

① Ctrl+Z组合键

  • 将当前进程挂起,即调入后台并停止执行

② jobs命令

  • 查看处于后台的任务列表
    jobs -l ##查看当前终端中后台运行的进程任务

③ fg命令

  • 将后台进程恢复到前台运行,可指定任务序号
    在这里插入图片描述bg1 ##将后台挂起的进程,再前台运行,用挂机终端命令不好使,Ctrl+Z和Ctrl+C不好用
    fg1 ##一般用这个,Ctrl+Z和Ctrl+C可以用

(3)终止进程的运行

① Ctrl+C组合键

  • 中断正在执行的命令

② kill、killall命令

  • kill用于终止指定PID号的进程
  • killall用于终止指定名称的所有进程
  • -9选项用于强制终止

③ pkill命令

  • 根据特定条件终止相应的进程
  • 常用命令选项
    ◆U:根据进程所属的用户名终止相应进程
    ◆t:根据进程所在的终端终止相应进程
    例如
    打开另一个终端
    su - tom ###切入tom终端
    在前一个终端操作
    pgrep -l -U “tom” ###查看tom运行的进程
    pkill -9 -U “tom” ###强行终止tom运行的进程
    pgrep -l -U “tom” ###查看tom运行的进程

二、计划任务管理

1.at一次性任务管理

在这里插入图片描述date ###查看时间
date -s “2017-11-18 00:02” ###修改日期时间
yum -y install at ###安装at软件
systemctl start atd ###启动atd程序
systemctl enable atd ###开机启动atd程序
at 00:16 ###创建一次性计划任务
在这里插入图片描述在这里插入图片描述

2.crontab周期性任务设置

(1)crontab的配置文件和目录

crontab命令

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

管理crontab计划任务

  • 编辑计划任务

crontab -e 【-u 用户名】

  • 查看计划任务

crontab -l【-u 用户名】

  • 删除计划任务

crontab -r 【-u 用户名】

(2)配置任务的格式

在这里插入图片描述
时间数值的特殊表示方法
*:表示该范围内的任意时间
,:表示间隔的多个不连续时间点
-:表示一个连续的时间范围
/:指定间隔的时间频率
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ZG_66/article/details/107462728