查看进程


程序和进程的关系

什么是程序?

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

文件中静态保存的代码。

什么是进程?

在CPU及内存中运行的程序代码;

动态执行的代码;

父、子进程(每个程序可以创建一个或者多个进程)

查看进程信息ps

ps命令

查看静态的进程统计信息

[root@localhost ~]# ps aux

方法一

常用的参数

-a:显示当前终端下的所有进程信息,包括其他用户的进程。与"x"选项结合时将显示系统中所有的进程信息。

-u:使用以用户为主的格式输出进程信息。

-x:显示当前用户在所有终端下的进程信息。

进程和计划任务管理_父进程

图片👆第一排代表的意思:

USER: 启动该进程的用户账号名称

PID: 进程的ID

%CPU: 进程占用的CPU百分比

%MEM: 占用内存的百分比

Vsz: 该进程使用的虚拟内存量(KB)

RSS: 该进程占用的物理内存量(KB)

TTY: 启动进程的终端名。不是从终端启动的进程则显示为?

STAT: 该进程的状态。(见表格下详解)

START: 该进程被触发启动时间

TIME: 该进程实际使用CPU运行的时间

COMMAND: 进程的启动命令

小扩展

ps-T可以查看当前线程

进程和计划任务管理_父进程_02

查看静态的进程统计信息(显示的信息比aux细点)

[root@localhost ~]# ps -elf

常见参数:

-e:显示系统内的所有进程信息。

-1:使用长格式显示进程信息。

-f:使用完整的格式显示进程信息。

进程和计划任务管理_计划任务_03

图片👆第一排所表示的意思:

F: 内核分配给进程的系统标记

s: 进程的状态

UID: 启动这些进程的用户

PID: 进程的进程ID,每个进程都有一个唯一的PID

PPID: 父进程的进程号(如果该进程是由另—个进程启动的)

C: 进程生命周期中的CPU利用率

PRI: 进程的优先级(越大的数字代表越低的优先级)

NI: 谦让度值用来参与决定优先级

ADDR: 进程的内存地址

sz: 假如进程被换出,所需交换空间的大致大小

WCHAN: 若该进程在睡眠,则显示睡眠中的系统函数名

STIME: 进程启动时的系统时间

TTY: 进程启动时的终端设备

TIME: 运行进程需要的累计CPU时间

CMD: 进程的启动命令

STAT:

D:不可被唤醒的休眠状态;

R:正在运行状态;

S:处于休眠状态,可被唤醒;

T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;

Z:僵厂进程,进程己经中止,但是部分程序还在内存当中 ,但其父进程无法正常中止它

僵厂进程: 僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源

top命令

查看动态的进程排名信息

[root@localhost ~]# top

进程和计划任务管理_计划任务_04

第一:任务队列

16:39:54

系统时间

up 5:11

系统已运行时长

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

己用内存

lbuff/cache

物理内存和交换内存的缓冲区总和


第五行:交换空间(swap)占用信息

total

总交换内存

free

空闲交换内存

used

已用交换内存

avail Mem

可用物理空间


top常用命令:

P键:根据CPU使用百分比大小进行排序

M键:根据驻留内存大小进行排序

N键:根据启动时间进行排序

c键:切换显示命令名称和完整命令行

h键:可以获得top程序的在线帮助信息

q键:退出top程序

数字1键:显示CPU个数和状态

pgrep命令

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

pgrep-l “log”

进程和计划任务管理_计划任务_05

pgrep -l -U root -t tty1

进程和计划任务管理_计划任务_06

查看进程信息pstree

pstree命令

pstree -aup 用户名

以树形结构列出进程信息

结合以下常用的参数使用:

-p:选项使用时可以同时列出对应的PID号

-u:选项可以列出对应的用户名

-a:选项可以列出完整的命令信息

进程和计划任务管理_计划任务_07

进程的启动方式


手工启动

cp /dev/cdeom /home/cetos7.iso 前台运行

rm -rf /home/cetos.7.iso 删掉

cp /dev/cdeom /home/cetos7.iso & 后台运行

前台启动:用户输入命令,直接执行程序

后台启动:在命令行尾加入“&”符号

调度启动

使用at命令,设置一次性计划任务

使用crontab命令,设置周期性计划任务

Ctrl+Z

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

jobs命令

查看处于后台的任务列表

jobs -l 查看后台

fg命令

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

fg +序号

终止进程的运行

Ctrl+C组合键

终端正在执行的命令

kill 、killall命令

kill用于种植指定PID号的进程 kill +想删掉的进程号 普通删除命令

killall用于终止指定名称的所有进程

-9 选项用于强制终止 kill -9 强行杀死

pkill命令

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

常用命令选项

-U:根据进程所属的用户名终止相应进程

-t:根据进程所在的终端终止相应进程

计划任务管理at

at命令

一次性计划任务

at [HH:MM] [yyyy-mm-dd]

at>pgrep -U root |wc-l > /tmp/ps.root

atq 查看未完成的一次性任务

crontab任务配置的格式


50

3

2

1

*

run_command

分钟

小时

日期

月份

星期

命令

0-59之间任意数

0-23之间任意数

1-31之间任意数

1-12之间任意数

0-7之间的任意整数

要执行的命令或程序脚本


时间数值的特殊表示方法

*表示该范围内的任意时间

,表示间隔的多个不连续的时间点

-表示一个连续的时间范围

/指定间隔的时间频率

应用示例

crontab -e 进入

0 17 * * 1-5 周一到周五每天17:00

30 8 * * 1,3,5 每周奕、三、五的8:30

0 8-18/2 * * * 8点到18点之间每2小时

0 * */3 * * 每三天

systemctl start crond

tail -f /var/log/cron 实时追踪