1、ps命令:显示进程状态
【语法格式】
ps [参数]
【常用参数】
- -a:显示所有终端机下执行的程序,除了阶段作业领导者之外
- a:显示现行终端机下的所有程序,包括其他用户的程序
- -A:显示所有程序
- -c:显示CLS和PRI栏位
- c:列出程序时,显示每个程序真正的指令名称
- -C <指令名称>:指定执行指令的名称,并列出该指令的程序的状况
- -d:显示所有查询,但不包括阶段作业领导者的程序
- -e:与A参数相同
- e:列出程序时,显示每个程序所使用的环境变量
- -f:显示UID,PPIP,C与STIME栏位
- f:用ASCII字符显示树状结构,表达程序间的相互关系
【实例】
将所有进程显示出来
[root@localhost ~]# ps -aux
[root@localhost ~]# ps -A
[root@localhost ~]# ps -eLf
将所有进程显示出来,并输出到ps.txt文件
[root@localhost ~]# ps -aux > ps.txt
查找特定进程信息
[root@localhost ~]# ps -aux | grep ssh
显示特定用户进程信息
[root@localhost ~]# ps -u root
按CPU资源的使用量对进程进行排序
[root@localhost ~]# ps -aux | sort -nk 3
按内存资源的使用量对进程进行排序
[root@localhost ~]# ps -aux | sort -rnk 4
2、top命令:实时显示进程动态
【语法格式】
top [参数]
【常用参数】
- -b:搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
- -c:切换显示模式
- -d:改变显示的更新速度
- -i:不显示任何闲置 (idle) 或无用 (zombie) 的行程
- -n:更新的次数,完成后将会退出 top
- -q:没有任何延迟的显示速度
- -s:安全模式,将交谈式指令取消, 避免潜在的危机
【实例】
显示进程信息
[root@localhost ~]# top
显示完整的进程信息
[root@localhost ~]# top -c
以批处理模式显示程序信息
[root@localhost ~]# top -b -n 2 > ps.txt
【说明】
top 命令执行结果的前 5 行为系统整体的统计信息,其所代表的含义如下:
- 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、 5分钟、 15 分钟内的平均值,数值越小意味着负载越低)。
- 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
- 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
- 第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
- 第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
3、pstree命令:以树状图显示进程
【语法格式】
pstree [参数]
【常用参数】
- -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示
- -c:不使用精简标示法
- -G:使用VT100终端机的列绘图字符
- -h:列出树状图时,特别标明现在执行的程序
【注意】
pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的进程。
【实例】
显示当前所有进程的进程号和进程ID
[root@linuxcool ~]# pstree -p
4、nice命令:调整进程的优先级
【语法格式】
nice [参数] [命令]
【常用参数】
- -n:后面接一个数值,范围为-20~19
【注意】
nice命令表示给新执行的目录给予新的nice值。系统的后台工作中,某些比较不重要的进程在运行,例如,备份,由于备份工作相当消耗系统资源,这个时候就可以调大备份命令的nice值,可以使系统资源更合理使用。
【实例】
创建一个a.sh脚本,输入以下内容,执行脚本,然后使用nice修改进程优先级
创建a.sh脚本。
使用top命令查看此脚本(top -p 6172)
修改nice值,设置进程优先级,然后使用top命令查看进程NI值
[root@linuxcool ~]# nice -n 10 ./a.sh
5、nohup命令:后端运行程序
【语法格式】
nohup [参数]
【常用参数】
- --help:在线帮助
- --version:显示版本信息
【注意】
nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。
【实例】
使用nohup命令在后台运行程序
[root@localhost ~]# nohup ./a.sh &
6、jobs命令:显示系统中的任务列表和运行状态
【语法格式】
jobs [参数] [目录]
【常用参数】
- -l:显示作业列表时包括进程号
- -n:显示上次使用jobs后状态发生变化的作业
- -p:显示作业列表时仅显示其对应的进程号
- -r:仅显示运行的(running)作业
- -s:仅显示暂停的(stopped)作业
【注意】
jobs命令可以显示任务号以及对应的进程号,其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应一个或者多个进程号。
【实例】
显示当前的作业列表
[root@localhost ~]# jobs
7、fg命令:将后台作业放到前台终端运行
【语法格式】
fg [参数]
【常用参数】
- 作业标识:指定要放到前台的作业标识号
【实例】
- 使用fg命令将任务号为1的任务从后台执行转换到前台执行
[root@localhost ~]# fg 1
8、bg命令:将前台作业放到后台运行
【语法格式】
bg [参数]
【常用参数】
- 作业标识:指定要放到前台的作业标识号
【实例】
使用bg命令将任务号为1的任务放到后台继续执行
[root@localhost ~]# bg 1
使用bg命令与在指令后面添加符号”&”的效果是一样的,使用&将find / -name password放到后台执行:
[root@localhost ~]# find / -name password &