Linux的进程和计划任务管理
Posted 归咎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的进程和计划任务管理相关的知识,希望对你有一定的参考价值。
@[TOC]
一、进程和程序的关系
程序
- 保存在硬盘、光盘等介质中的可执行的代码和数据
- 文件中静态保存的代码
进程
- 在CPU及内存中运行的程序代码
- 动态执行的代码
- 父(例如init)、子进程
二、查看进程
1.查看静态进程信息ps
1.1、方法一:ps aux
选项 |
作用 |
a |
显示终端上的所有进程,包括其他用户的进程 |
u |
表示列出进程的用户 |
x |
表示所有终端的进程 |
名称 |
解释 |
USER |
进程的用户 |
PID |
进程的ID |
%CPU |
进程占用的cpu百分比 |
%MEM |
占用内存的百分比 |
VSZ |
进程占用的虚拟内存量(KB) |
RSS |
进程占用的物理内存量(KB) |
TTY |
启动进程的终端名,不是从终端启动的进程则显示为 ? |
STAT |
该进程的状态 |
START |
该进程被触发启动时间 |
TIME |
该进程实际使用cpu运行时间 |
COMMAND |
进程的启动命令 |
==STAT== 状态含义
1.2、ps -elf
|
选项 |
用处 |
-e |
显示系统内的所有进程信息 |
-l |
使用长格式显示进程信息 |
-f |
使用完整格式显示 |
-a |
显示说有进程pid |
-T |
查看线程信息 |
|
名称 |
解释 |
F |
内核分配给进程的系统标记 |
==S== |
==进程的状态== |
==UID== |
==启动这些进程的用户== |
==PID== |
==进程的进程ID== |
PPID |
父进程的进程号(如果该进程是由另一个进程启动的) |
==C== |
==进程生命周期中的CPU利用率== |
PRI |
进程的优先级(越大的数字代表优先级越低) |
NI |
谦让度值用来参与决定优先级 |
ADDR |
进程的内存地址/td> |
SZ |
假如进程被换出,所需交换空间的大致大小 |
WCHAN |
若该进程在睡眠,则显示睡眠中的系统函数名 |
STIME |
进程启动时的系统时间 |
TTY |
进程启动时的终端设备 |
TIME |
运行进程需要的累计CPU时间 |
==CMD== |
==进程的启动命令== |
==黄线标记的较为重要==
2.查看动态的进程信息TOP
2.1、进程动态行
第一行:任务队列信息
|
20:58:13 |
系统时间 |
up 18:01 |
系统已运行时长 |
2 users |
当前登录用户数 |
load average: 0.00, 0.01, 0.05 |
系统负载,即单位时间内系统处理的任务数,后面三个数值分别为1分钟、5分钟、15分钟前到现在的平均值 |
第二行:进程信息
|
Tasks |
总进程数 |
running |
正在运行的进程数 |
sleeping |
休眠的进程数 |
stopped |
终止的进程数 |
zombie |
僵死的进程数 |
第三行:CPU信息
|
us |
用户占用 |
sy |
内核占用 |
ni |
优先级调度占用 |
id |
空闲CPU(要了解空闲CPU百分比,主要看 %id 部分) |
wa |
I/O 等待占用 |
hi |
硬件中断占用 |
si |
软件中断占用 |
st |
虚拟化占用 |
第四行:内存信息
|
total |
总内存空间 |
free |
空闲内存 |
used |
已用内存 |
buff/cache |
物理内存和交换内存的缓冲区总和 |
第五行:交换空间的信息
|
total |
总交换空间 |
free |
空闲交换空间 |
used |
已用交换空间 |
avail Mem |
可用物理空间 |
2.2、进程信息区
进程信息区名词解释
|
PID |
进程ID |
USER |
进程所有者的用户名 |
PR |
优先级 |
NI |
谦让值。负值表示高优先级,正值表示低优先级 |
VIRT |
进程使用的虚拟内存大小,单位kb |
RES |
进程使用的物理内存大小,单位kb |
SHR |
共享内存大小,单位kb |
S |
进程状态 |
%CPU |
上次更新时间到现在的CPU占用百分比 |
%MEM |
进程使用的物理内存百分比 |
TIME+ |
进程使用的CPU时间总计,单位1/100秒 |
COMMAND |
命令名/命令行 |
2.3、TOP常用选项
|
P |
根据CPU使用百分比大小进行排序 |
M |
根据驻留内存大小进行排序 |
N |
根据启动时间进行排序 |
c |
切换显示命令名称和完整命令行 |
h |
可以获得top程序的在线帮助信息 |
k |
根据提示输入指定进程的PID号并按Enter键终止对应的进程 |
q |
退出top程序 |
数字 1 |
显示CPU个数和状态 |
3、根据特定条件查询进程PID信息pgrep
4、查看进程树pstree
|
选项 |
作用 |
-a |
显示完整信息 |
-u |
列出对应用户名 |
-p |
列出对应PID号 |
二、进程的管理
1、启动进程的方式
1.1 手工启动
- 前台启动:输入命令,直接执行程序
- 后台启动:命令结尾加&,在后台执行
1.2 调度启动
- 使用 ==at== 命令,设置一次性计划任务
- 使用 ==crontab== 命令,设置周期性计划任务
2、进程的前后台调度
ctrl+z组合键
jobs命令
- jobs -l
- 查看处于后台的任务列表
fg命令
3、终止进程
3.1 Ctrl+C组合键
3.2 kill、killall命令
- kill 终止指定PID号的进程
- killall 终止指定名称相关的所有进程
- -9选项 用于强制终止
3.3 根据特定条件终止相应进程:pkill
|
选项 |
作用 |
-U |
根据进程所属的用户名终止相应进程 |
-T |
根据进程所在的终端终止相应进程 |
三、计划任务管理
1、一次性计划任务:at
==不跟年月日就是默认当天==
2、周期性任务设置:crontab
- 按照预先设置的时间周期(分钟、小时、天、月、周)重复执行用户指定的命令操作
- 属于周期性计划任务
- 主要设置文件
- 全局配置文件,位于文件:/etc/crontab
- 系统默认的设置,位于目录:/etc/cron.*/
- 用户自定义的设置,位于文件:/var/spool/cron/用户名
2.1 管理crontab计划任务
2.2 任务配置的格式
字段 |
说明 |
分钟 |
取值为0~59之间的任意整数 |
小时 |
取值为0~23之间的任意整数 |
日期 |
取值为1~31之间的任意整数 |
月份 |
取值为1~12之间的任意整数 |
星期 |
取值为0~7之间的任意整数,0或7代表星期日 |
命令 |
要执行的命令或程序脚本 |
==数制的特殊标识方法==
|
* |
表示该范围内的任意时间 |
, |
表示间隔的多个不连续时间点 |
- |
表示一个连续的时间范围 |
/ |
指定间隔的时间频率 |
以上是关于Linux的进程和计划任务管理的主要内容,如果未能解决你的问题,请参考以下文章
Linux进程和计划任务管理
linux系统进程和计划任务管理
linux中进程和计划任务的管理
linux中进程和计划任务管理
Linux/Centos7系统管理之进程与计划任务管理
Linux系统管理10-进程和计划任务管理