0
点赞
收藏
分享

微信扫一扫

Linux 进程和计划任务管理

小亦同学321 2022-04-13 阅读 106
linux

目录

一.程序和进程的关系

1.程序

2.进程

二.查看进程信息

1.查看静态的进程统计信息  ps

2.查看动态的进程排名信息  top

3. 根据特定条件查询进程PID信息  pgrep

4.以树形结构列出进程信息  pstree

三.进程的启动与控制

1.进程的启动方式

2.进程的前后台调度

3.终止进程的运行

四.计划任务管理

1.一次性计划任务  at

2.设置周期性计划任务 crontab


一.程序和进程的关系

1.程序

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

2.进程

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

二.查看进程信息

1.查看静态的进程统计信息  ps

[root@xlj1 -]# ps aux

常用选项

选项说明
-a

显示当前终端下的所有进程信息,包括其他用户的进程

与"x"选项结合时将显示系统中所有的进程信息

-u使用以用户为主的格式输出进程信息
-x显示当前用户在所有终端下的进程信息

常用的选项组合

ps -aux  以简单列表的形式显示出进程信息,其中含义如下

USER启动该进程的用户账号的名称
PID该进程在系统中的数字ID号,在当前系统中是唯一的
%CPUCPU占用的百分比
%MEM内存占用的百分比
VSZ该进程使用的虚拟内存量(KB)
RSS该进程占用的物理内存量(KB)
TTY表明该进程在哪个终端上运行。不是从终端启动的进程则显示为?

STAT

D:系统守护进程

T:调式、程序执行一般停止

R:该程序目前正在运作,或者是可被运作

S:该程序目前正在睡眠当中(可说是idle状态啦!),但可被某些讯号(signal)唤醒

T:该程序目前正在侦测或者是停止了

Z:该程序应该已经终止,但是其父程序却无法正常的终止他,造成zombie(僵尸)程序的状态D不可中断状态

它们含意如下:

<:表示进程运行在高优先级上

N:表示进程运行在低优先级上

L:表示进程有页面锁定在内存中

s:表示进程是控制进程

l:表示进程是多线程的

+:表示当前进程运行在前台

D:系统守护进程

T:调式,程序执行一般停止

START:启动该进程的时间。

TIME:该进程占用的CPU时间。

COMMAND:启动该进程的命令的名称

2.查看动态的进程排名信息  top

[root@xlj1 -]# top

常用选项

选项说明
P根据CPU使用百分比大小进行排序
M根据驻留内存大小进行排序
N根据启动时间进行排序
c切换显示命令名称和完整命令行
h可以获得top程序的在线帮助信息
q退出top程序
数字 1显示CPU个数和状态

各行的参数解释

第一行:任务队列信息

参数说明
02:55:13系统时间
up 4:07系统已运行时长
2 users当前登录用户数
load average: 0.00,0.01,0.05系统负载,即单位时间内系统处理的任务数,后面三个数值分别为0分钟、1分钟、5分钟前到现在的平均值

第二行:进程信息

参数说明
Tasks总进程数
running正在运行的进程数
sleeping休眠的进程数
stopped中止的进程数
zombie僵死的进程数

第三行:CPU的占用信息

参数说明
us用户占用
sy内核占用
ni优先级调度占用
id空闲CPU,要了解空闲的 CPU 的百分比,主要看 %id 部分
waI/O 等待占用
hi硬件中断占用
si软件中断占用
st虚拟化占用

第四行:内存的占用信息

参数说明
total总内存空间
free空闲内存
used已用内存
buff/cache物理内存和交换内存的缓冲区总和

第五行:交换空间的占用信息

参数说明
total总交换空间
free空闲交换空间
used已用交换空间
avail Mem可用物理空间

3. 根据特定条件查询进程PID信息  pgrep

[root@xlj1 -]# pgrep -I "log"

[root@xlj1 -]# pgrep -I-U teached -t tty

常用选项

选项说明
-o仅显示找到的最小(起始)进程号
-n仅显示找到的最大(结束)进程号
-l显示进程名称
-P指定父进程号
-g指定进程组
-t指定开启进程的终端
-u指定进程的有效用户ID

4.以树形结构列出进程信息  pstree

[root@xlj1 -]# pstree  -aup

常用选项

选项说明
-a显示每个程序的完整指令,包含路径,参数或是常驻服务的标示
-c不使用精简标示法
-G使用VT100终端机的列绘图字符
-h列出树状图时,特别标明现在执行的程序
-l采用长列格式显示树状图
-n用程序识别码排序,预设是以程序名称来排序
-p显示程序识别码
-u显示用户名称
-U使用UTF-8列绘图字符
-V显示版本信息

三.进程的启动与控制

1.进程的启动方式

手工启动

  • 前台启动:用户输入命令,直接执行程序
  • 后台启动:在命令行尾加入“&"符号

调度启动

  • 使用at命令,设置一次性计划任务
  • 使用crontab命令,设置周期性计划任务

2.进程的前后台调度

Ctrl+Z组合键

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

jobs命令

  • 查看处于后台的任务列表

fg命令

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

3.终止进程的运行

Ctrl+C组合键

  • 中断正在执行的命令

kill、killall 命令

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

pkill 命令

  • 根据特定条件终止相应的进程

常用选项

选项说明
-U根据进程所属的用户名终止相应进程
-t根据进程所在的终端终止相应进程

四.计划任务管理

1.一次性计划任务  at

  at  [10:20] [2022-4-10]

at><EOT> 按 Ctrl+D 提交

2.设置周期性计划任务 crontab

(1)crontab命令

 按照预先设置的时间周期(分钟、小时、天...)重复执行用户指定的命令操作

属于周期性计划任务

主要设置文件

  • 全局配置文件位于文件:/etc/crontab
  • 系统默认的设置位于目录:/etc/cron.*/
  • 用户定义的设置,位于文件:/var/spool/cron/用户名

(2)管理crontab计划任务

编辑计划任务

  • crontab -e [-u 用户名]

查看计划任务

  • crontab -I [-u 用户名]

删除计划任务

  • crontab -r [-u 用户名]

(3)crontab任务配置的格式

分  时  日  月  期

字段说明
分钟取值为从0到59之间的任意整数
小时取值为从0到23之间的任意整数
日期取值为从1到31之间的任意整数
月份取值为从1到12之间的任意整数
星期取值为从0到7之间的任意整数,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 条评论