第9章 进程和计划任务管理

进程

进程(process)ps(processes statistic)进程统计

进程与程序有关,把将要运行的程序放到内存中,进程是动态的,不同时刻状态不一

进程状态相关命令

进程状态

说明

S

sleep休眠

R

运行

Z

僵尸,僵死

D

不可唤醒的

T

停止

s

父进程

+

前台的进程

直接在终端下运行的程序,占据了终端,占据时不能正常使用其他命令

高优先级

N

低优先级

与进程相关的命令

命令

说明

ps

查询系统当前的静态进程信息

ps a

显示所有进程信息

ps aux

以用户为主显示进程信息

ps -elf

显示当前用户在所有终端下所有进程信息

ps -elf

列出系统上所有进程的详细信息

top

动态查看系统的实时状态

pgrep -l 进程名

显示指定进程的相关进程的对应id和进程名称

pstree -aup

显示进程树和响应pid

jobs -l

查看当前被挂起的进程的任务号和进程号

fg 任务号

将挂起的进程放到前台运行

bg 任务号

将被挂起的进程放到后台运行

kill [选项] 进程号

杀死指定进程

常用的命令选项:

-1:重新初始化进程,并且进程pid不会改变

-2:结束进程,但不强制;Ctrl + C 是对前台进程执行的kill -2指令

-9:发送信令,强制进程

-15:正常结束进程,也是kill命令不加选项的默认信令

-19:暂停进程

pkill [选项] 进程名

杀死指定进程;可以针对进程名、指定用户启动的进程、终端的命令

pkill -9 -U 用户名

强制杀死指定用户的进程

killall [选项] 进程名

针对进程名,杀死指定进程

netstat -anpt | grep httpd或ftp

查看指定名为httpd或ftp的进程的相关信息

-a:显示所有进程

-n:以数字显示地址相关信息

-p:列出协议

-t:列出tcp相关信息

PS命令的有关参数

参数

说明

-e

(every)显示所有进程

-u

(user)显示面向用户的进程的详细信息,如进程所有者、CPU 使用率、内存使用率等

-f

(full-format)以全格式的列表显示进程的信息,包括进程之间的层级关系

-p

(pid)查找具有指定进程 ID 的进程

-C

(Command)查找具有指定命令名称的进程

-aux

在当前用户下以详细格式显示所有正在运行的进程

其中 x 是表示在没有控制终端的情况下列出进程,这些显示的主要是启动并运行在后台的进程

相关快捷键

快捷键

说明

Ctrl+C

取消当前前台程序

Ctrl+Z

将前台程序挂起到后台暂停起来,进程处于停止状态

代码风格

  1. BSD风格(free 风格 ps aux)
  2. Unix风格(ps -elf)
  3. GNU风格(Gnu is not Unix;ps --user root)

终端详情

ps -elf信息列

说明

F(flags)

该进程的特定标志

S(stat)

进程状态

PPID(Parent Process ID)

该进程的父进程ID,创建当前进程的进程ID,如果没有父进程就显示0

UID

进程所有者的用户名;和USER一样

C

CPU的利用率,和%CPU一样

PRI(Priority:优先级)

进程调度的优先级,越小越优先

也叫实时进程 或 动态优先级(0 ~ 99)

取值范围:0 ~ 139(共140个)

NI(nice)

进程谦让度(对CPU资源的抢夺能力),NI值越高,优先级越低

也叫非实时进程 或 静态优先级,取值范围:-20 ~ 19(共40个)

ADDR

内存地址,该进程在运行时所用的数据在内存中的地址

SZ

进程使用的交换空间(虚拟内存)的大小(以KB为单位)

WCHAN(Waiting Channel)

如果该进程处于睡眠状态,这一列将显示进程正在等待的资源或条件

STIME

该进程启动时间

ps aux信息列

说明

USER

进程所有者的用户名

PID(Procedure ID)

该进程唯一进程ID,每一个进程在启动时,系统内核会分配一个运行时的唯一标识ID

%CPU

该进程使用的 CPU 资源的百分比

%MEM

该进程使用的内存资源的百分比

VSZ(Virtual Memory Size)

该进程占用虚拟内存的大小;交换分区的占用量;以 KB 为单位

RSS(Resident Set Size)

该进程占用的物理内存大小;以 KB 为单位

TTY

该进程在哪个终端上运行


若该进程不在终端上运行则显示“?”

如果显示的是tty1-tty6表示本机登录,显示pts/0等,表示为网络连接进主机。

TTY是电传打字机的缩写;teletypewriter;TeleTYpe,是早期古老的一种终端设备

STAT

进程当前运行状态

START

该进程启动的时间点

TIME

进程运行过程中占用 CPU 的总时间

CMD

启动进程的命令的名称

top解析

top界面信息

说明

top

系统当前时间

up

该主机运行时间 2:14表示运行了2小时14分钟

user

当前系统登录的用户数量

load average

系统负载平均值:最近一分钟的负载,最近5分钟的负载,最近15分钟的负载

数字越小代表负载越低,最近15分钟的最具备参考价值

Tasks

任务数量:当前进程数量 total,正在运行的 running,正在休眠的 sleeping,正在停止的 stopped 僵尸进程 zombie

%Cpu(s)

CPU占用率:用户占用的% us,系统内核% sy,改变静态优先级的进程% ni 空闲进程% id (idle),等待 I/O 完成的 CPU 百分比 wa,硬中断占用% hi,软中断占用% si,虚拟CPU% st

KiB Mem

总物理内存空间 total,空闲内存空间 free,已使用空间 used,缓冲、缓存区总大小 buff/cache

KiB Swap

交换分区总大小 total,空闲空间 free,已使用空间 used,可用物理内存空间 avail Mem

top进程信息列

说明

PR

和PRI一样,代表优先级

VIRT

虚拟内存使用量

RES

物理内存使用量

SHR

共享内存大小

缓冲区(buffer)

内存 ——》硬盘

缓存区(cache)

硬盘 ——》内存 ——》CPU

计划任务

  • 一次性任务

    • 在未来的某一个时间运行一个任务

命令

说明

yum -y install at

安装相关软件包

systemctl start atd

运行该软件对应服务

at 时间(23:30)

创建一个于23:30运行的一次性任务

atq

查看创建的计划任务

atrm 任务编号

删除指定任务号的计划任务

快捷键

说明

Ctrl + D

退出任务计划编辑界面

  • 周期性任务

    • 在未来的某一个固定的时间周期性地运行任务

命令

说明

crontab -e

在root用户下添加计划任务

脚本内使用的命令最好用绝对路径

crontab -l -u [用户名]

查询执行用户的计划任务

crontab -e -u 用户名

给指定用户添加计划任务

以用户为单位,分别指定计划任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值