赞
踩
目录
(1)ps命令
① ps命令为查看静态的进程统计信息(Processes Statistic),它是Linux系统中最为常用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照。通过不同的命令选项,可以有选择性地查看进程信息。
表1 ps命令选项
选项 | 功能 |
a | 显示当前终端下的所有进程信息,包括其他用户的进程。与“x"选项结合时将显示系统中所有的进程信息 |
u | 使用以用户为主的格式输出进程信息 |
x | 显示当前用户在所有终端下的进程信息 |
-e | 显示系统内的所有进程信息 |
-l | 使用长(Long)格式显示进程信息 |
-f | 使用完整的(Full)格式显示进程信息 |
② 简单列表的形式显示进程信息
执行命令 : ps -aux
表2 ps -aux命令执行结果各字段含义
字段 | 含义 |
USER | 启动该进程的用户账户名称 |
PID | 该进程在系统中的数字ID号,在当前系统中是唯一的 |
TTY | 表面该进程在哪个终端上运行。”?“表示未知或不需要终端 |
STAT | 显示了进程当前的状态,如: S 休眠 R 运行 D 不可中断休眠 Z 僵死 T 停止 < 高优先级 N 低优先级 s 父进程 + 前台进程 |
START | 启动该进程的时间 |
TIME | 该进程占用CPU的时间 |
COMMAND | 启动该进程命令的名称 |
%CPU | CPU占用的百分比 |
%MEM | 内存占用的百分比 |
VSZ | 占用虚拟内存(swap)空间的大小 |
RSS | 占用常驻内存(物理内存)的大小 |
③ 长格式显示系统中的进程信息
执行命令 :ps -elf
表3 ps -elf命令执行结果各字段含义
字段 | 含义 |
F | 内核分配给进程的系统标记 |
S | 进程的状态 |
UID | 启动这些进程的用户 |
PID | 进程的进程ID |
PPID | 父进程的进程号(如果该进程是由另一个进程启动的) |
C | 进程生命周期中的CPU利用率 |
PRI | 进程的优先级(越大的数字代表越低的优先级) |
NI | 谦让度值用来参与决定优先级。 |
ADDR | 进程的内存地址 |
SZ | 假如进程被换出,所需交换空间的大致大小 |
WCHAN | 若该进程在睡眠,则显示睡眠中的系统函数名 |
STIME | 进程启动时的系统时间 |
TTY | 进程启动时的终端设备 |
TIME | 运行进程需要的累计CPU时间 |
CMD | 进程的启动命令 |
(2)top命令
top命令为查看进程动态信息,它将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的”任务管理器“。
top命令输出了很多参数,真正的服务器负载情况我们要综合其他参数一起看,运行结果可以分为两部分:
第一部分是前5行,是系统整体的统计信息;
第二部分是第8行开始的进程信息。
① 第一行是任务队列信息
top - 13:59:12 up 4:49, 3 users, load average: 0.00, 0.01, 0.05
【1】top:当前时间
【2】up:机器运行了多长时间
【3】users:当前登录用户数
【4】load average:系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
② 第二行为进程信息
Tasks: 170 total, 1 running, 168 sleeping, 1 stopped, 0 zombie
【1】Tasks:当前有多少进程
【2】running:正在运行的进程数
【3】sleeping:正在休眠的进程数
【4】stopped:停止的进程数
【5】zombie:僵尸进程数
③ 第三行为CPU的信息
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
【1】us:用户空间占CPU的百分比(像shell程序、各种语言的编译器、各种应用、web服务器和各种桌面应用都算是运行在用户地址空间的进程,这些程序如果不是处于idle状态,那么绝大多数的CPU时间都是运行在用户态)
【2】sy: 内核空间占CPU的百分比(所有进程要使用的系统资源都是由Linux内核处理的,对于操作系统的设计来说,消耗在内核态的时间应该是越少越好,在实践中有一类典型的情况会使sy变大,那就是大量的IO操作,因此在调查IO相关的问题时需要着重关注它)
【3】ni:用户进程空间改变过优先级(ni是nice的缩写,可以通过nice值调整进程用户态的优先级,这里显示的ni表示调整过nice值的进程消耗掉的CPU时间,如果系统中没有进程被调整过nice值,那么ni就显示为0)
【4】id: 空闲CPU占用率
【5】wa: 等待输入输出的CPU时间百分比(和CPU的处理速度相比,磁盘IO操作是非常慢的,有很多这样的操作,比如,CPU在启动一个磁盘读写操作后,需要等待磁盘读写操作的结果。在磁盘读写操作完成前,CPU只能处于空闲状态。Linux系统在计算系统平均负载时会把CPU等待IO操作的时间也计算进去,所以在我们看到系统平均负载过高时,可以通过wa来判断系统的性能瓶颈是不是过多的IO操作造成的)
【6】hi: 硬中断占用百分比(硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息,当CPU收到中断消息后需要进行适当的处理(消耗CPU时间)。)
【7】si:软中断占用百分比(软中断是由程序发出的中断,最终也会执行相应的处理程序,消耗CPU时间)
【8】st:steal time
④ 第四行为内存的信息
KiB Mem : 999696 total, 77132 free, 544444 used, 378120 buff/cache
【1】total:物理内存总量
【2】free:空闲内存量
【3】used:使用的内存量
【4】buffer/cache:用作内核缓存的内存量
⑤ 第五行为交换空间的信息
KiB Swap: 3145724 total, 2883856 free, 261868 used. 238284 avail Mem
【1】total:交换区内存总量
【2】free:空闲交换区总量
【3】used:使用的交换区总量
【4】avail Mem:可以测量可以分配和使用的内存量
⑥ 进程信息区各列字段
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
表3 进程信息区各列字段
字段 | 含义 |
PID | 进程id |
USER | 进程所有者的用户名 |
PR | 优先级 --系统优先级 |
NI | 谦让度值。负值表示高优先级,正值表示低优先级 --人为设置的优先级 |
VIRT | 进程使用的虚拟内存总量,单位kb |
RES | 进程使用的物理内存大小,单位kb |
SHR | 共享内存大小,单位kb |
S | 进程状态 |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
COMMAND | 命令名/命令行 |
⑦ top命令常用选项
选项 | 功能 |
-d | 指定每两次屏幕信息刷新之间的时间间隔,如希望每秒刷新一次,则使用:top -d 1 |
-p | 通过指定PID来仅仅监控某个进程的状态 |
-S | 指定累计模式 |
-s | 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险 |
-i | 使top不显示任何闲置或者僵死的进程 |
-c | 显示整个命令行而不只是显示命令名 |
⑧ top交互式命令
默认进入top时,各进程是按照CPU的占用量来排序的
【1】敲top后,按键盘数字“1”可以监控每个逻辑CPU的状况:
【2】敲top后,输入u,然后输入用户名,则可以查看相应的用户进程;
【3】敲top后,top命令默认以K为单位显示内存大小,我们可以通过大写字母E来切换内存信息区域的显示单位,如下按一下E切换到MB
再按一下E切换到GB:
【4】敲top后,输入h进入top命令的帮助文档,了解更多关于top的用法。
(3)pgrep命令
① pgrep命令为查询进程信息,它用来查询特定进程信息的专用工具。使用pgrep命令可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性查询特定进程的PID号。
表4 ps -aux命令执行结果各字段含义
选项 | 功能 |
-a | 显示进程名和PID |
-c | 仅显示匹配进程的数量,而不显示进程名和PID |
-f | 匹配进程名及其参数 |
-l | 显示进程名而非PID |
-n | 仅显示最新的匹配进程 |
-u | 仅显示匹配进程的所有者 |
② pgrep命令查看httpd进程
(4)pstree命令
① pstree命令为查看进程树,可以输出Linux系统中各进程的树形结构,更加直观地判断出各进程之间的相互关系(父、子进程)。
表5 pstree命令选项
选项 | 功能 |
-a | 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示 |
-c | 不适用精简表示法 |
-G | 使用VT100终端机的列绘图字符 |
-h | 列出树状图时,特别表明限制执行的程序 |
-H | <程序识别码>此参数的效果和指定-h参数类型,但特别表明指定的程序 |
-l | 采用长列格式显示树状图 |
-n | 用程序识别码排序。预设是以程序名称来排序 |
-p | 显示进程id |
-u | 显示进程所属用户 |
-U | 使用UTF-8的列绘图字符 |
-V | 显示版本信息 |
② pstree -p命令查看进程
③ pstree -up命令查看进程所属用户
(1)启动进程
① 手工启动进程
手动启动可以分为前台启动和后台启动。
进程在前台运行时,用户必须等到该进程执行结束并退出以后才能继续输入其他命令,大多数的命令操作都是在前台启动运行。
启动后台进程需要使用”&“操作符,将”&“操作符放在要执行命令的最后面,进程启动后会直接放入后台运行,而不占用前台的命令操作界面,方便用户进行其他操作。
② 调度启动进程
调度启动的计划任务进程均在后台运行,不会占用用户的命令终端。进程的调度启动可以通过at\crontab命令进行设置,其中at命令用于设置一次性(如12:15时重启网络服务)计划任务,crontab用于设置周期性运行(如每周五17:30备份数据库)的计划任务。
(2)改变进程的运行方式
① 挂起当前的进程
Ctrl+Z组合键:将当前进程挂起,即调入后台并停止执行。
② 查看后台的进程
jobs命令可以用于列出这些后台作业的状态信息。
表6 jobs命令选项
选项 | 功能 |
-l | 显示所有作业的PID |
-p | 显示所有作业的进程组 ID |
-n | 仅显示最近的作业 |
-r | 仅显示正在运行的作业 |
-s | 仅显示已停止的作业 |
③ 将后台的进程恢复运行
使用bg(BackGround,后台)命令,可以将后台中暂停执行(如按Ctrl+Z组合键挂起)的任务恢复运行,继续在后台执行操作;而使用fg命令(ForeGround,前台),可以将后台任务重新恢复到前台运行。
除非后台中的任务只有一个,否则bg和fg命令都需要指定后台进程的任务编号作为参数。
(3)终止进程执行
① 使用kill命令终止进程
通过kill命令终止进程时,需要使用进程的PID号作为参数。kill -9 为强行终止进程。
② 使用killall命令终止进程
使用killall命令可以通过进程名来终止进程,当需要结束系统中多个相同名称的进程时,使用killall命令更加方便,效率更高。
③ 使用pkill命令终止进程
使用pkill命令可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性终止特定的进程,大部分选项与pgrep命令基本类似。
(1)crontab周期性任务设置
① 全局配置文件,位于文件: /etc/crontab
② 系统默认的设置,位于目录 : /etc/cron.*/
③ 用户定义的设置,位于文件 :/var/spool/cron/用户名
(2)使用crontab命令管理用户的计划任务
① 设置用户的周期性计划任务列表主要通过crontab命令进行,结合不同的选项可以完成不同的计划任务管理操作。
表7 crontab命令常用选项
选项 | 功能 |
-e | 编辑计划任务列表 |
-u | 指定所管理的计划任务属于哪个用户,默认时针对当前用户(自己),一般只有root用户有权限使用此选项(用于编辑、删除其他用户的计划任务) |
-l | 列表显示计划任务 |
-r | 删除计划任务列表 |
② crontab计划任务的配置格式
表8 crontab命令常用选项
分钟 | 小时 | 日期 | 月份 | 星期 |
* | * | * | * | * |
③ crontab计划任务的配置格式
表9 crontab计划任务的配置格式
项目 | 说明 |
分钟 | 取值从0-59的任意整数 |
小时 | 取值从0-23的任意整数 |
日期 | 取值从1-31的任意整数(日期在该月份中必须有效) |
月份 | 取值从1-12的任意整数 |
星期 | 取值从0-7的任意整数,0或7代表星期日 |
命令 | 可以是普通的命令,也可以是自己编写的程序脚本 |
➃ 符号与数字构成表达式
表10 符号与数字构成表达式
符号 | 功能 | 举例 |
* | 表示取值范围中的任意时间 | * * * * *表示任意时间 |
- | 表示一个连续的时间范围 | 1-4表示1、2、3、4 |
, | 表示一个间隔的不连续范围 | 3,4,6,8 |
/ | 用来指定间隔频率 | 日期字段的*/3表示每隔3天 |
(1)Ctrl+Z组合键挂起当前进程
(2)jobs命令查看后台进程
(3)kill命令终止进程
(4)jobs命令查看后台进程
(1)Ctrl+Z组合键挂起当前进程
(2)jobs命令查看后台进程
(3)pgrep命令查看进程信息
(4)kill命令终止进程
(1)每天上午9点执行钟执行ls命令
(2)每天7点-11点第30分钟执行ls命令
(3)每年6月9日6:30执行ls命令
(4)每4个月、每5天、每20分钟、每天8点和每周二执行ls命令
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。