用于进程管理和作业控制的主要命令如下图所示。

大部分命令都是对进程运行状态进行查询和监控的,而工作中与进程相关的也基本就是监控进程运行状态,检查影响系统运行瓶颈在哪里,然后进行调忧工作。因此本文只着重介绍常用的进程监控命令的监控信息所代表的含义,至于命令怎么使用可以参照man手册或其他文档。如:[12个进程管理命令介绍]

1.ps - report a snapshot of the current processes.

ps有三个不同风格的用法,GNU的长选项风格就不提了,比较难记。还是说说比较常用的两个经典组合吧。一个是BSD风格的ps aux,一个是unix风格的ps -efF。

USER:启动此进程的用户

PID:进程号

%CPU:CPU占用率

%MEM:内存占用率

VSZ:虚拟内存集

RSS:常驻内存集

vsz         VSZ     virtual memory size of the process in KiB (1024-byte units). Device

mappings are currently excluded; this is subject to change.

(alias vsize).

rss         RSS     resident set size, the non-swapped physical memory that a task has

used (in kiloBytes). (alias rssize, rsz).

TTY:启动此进程的终端,'?'表示系统后台启动的进程。

STAT:进程运行状态

PROCESS STATE CODES

Here are the different values that the s, stat and state output specifiers

(header "STAT" or "S") will display to describe the state of a process.

D    Uninterruptible sleep (usually IO)

R    Running or runnable (on run queue)

S    Interruptible sleep (waiting for an event to complete)

T    Stopped, either by a job control signal or because it is being traced.

W    paging (not valid since the 2.6.xx kernel)

X    dead (should never be seen)

Z    Defunct ("zombie") process, terminated but not reaped by its parent.

For BSD formats and when the stat keyword is used, additional characters may be

displayed:

N    low-priority (nice to other users)

L    has pages locked into memory (for real-time and custom IO)

s    is a session leader

l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

+    is in the foreground process group

START:进程启动时间/日期

TIME:在CPU上执行的累计时长

COMMAND:启动此进程的命令,'[]'表示内核启动的线程。

PPID:父进程号

C:CPU占用率

SZ:进程实际占用物理内存大小,包含文本、数据和栈空间。

PSR: 进程当前运行在CPU的哪个核心上

C           pcpu      cpu utilization

sz          SZ        size in physical pages of the core image of the process.  This

includes text, data, and stack space.  Device mappings are currently

excluded; this is subject to change.  See vsz and rss.

psr         PSR       processor that process is currently assigned to.

2. top - display Linux processes

比较难懂点的就是load average和%CPU那两行了。我觉得man手册写的挺好,直接贴了。

system load avg over the last 1, 5 and 15 minutes

Line 2 shows CPU state percentages based on the interval since the last refresh.

As a default, percentages for these individual categories are displayed.  Where two labels

are shown below, those for more recent kernel versions are shown first.

us, user    : time running un-niced user processes

sy, system  : time running kernel processes

ni, nice    : time running niced user processes

id, idle    : time spent in the kernel idle handler

wa, IO-wait : time waiting for I/O completion

hi : time spent servicing hardware interrupts

si : time spent servicing software interrupts

st : time stolen from this vm by the hypervisor

下面的字段含义:

VIRT:虚拟内存集

RES:常驻内存集

SHR:共享内存集

S: 进程运行状态

20. S  --  Process Status

The status of the task which can be one of:

D = uninterruptible sleep

R = running

S = sleeping

T = stopped by job control signal

t = stopped by debugger during trace

Z = zombie

重点说下PR和NI

PR:进程优先级。1-99:实时优先级,数字越大优先级越高,系统自动安排;100-139:静态优先级,数字越小优先级越高,可手动更改。说明:rt为real time,实时优先级;20实际为100+20,显示为20而已.

NI:Nice Value。-20至19,对应于优先级100到139。因此可以通过renice命令来调整nice值进而改变进程优先级,或者使用nice命令指定进程启动的nice值,不指定时使用默认nice值0。普通用户只能通过调整nice值降低进程优先级,而root则可以随意调整。

3. htop - interactive process viewer

htop是由epel源提供的软件包,需要额外安装。界面美观很多,甚至可以使用鼠标交互。字段信息跟top是一致的,不另外介绍了,你值得拥有。

4. dstat - versatile tool for generating system resource statistics

可以自定义参数的,默认使用了-cdngy。

-c, --cpu

enable cpu stats (system, user, idle, wait, hardware interrupt, software interrupt

-d, --disk

enable disk stats (read, write)

-n, --net

enable network stats (receive, send)

-g, --page

enable page stats (page in, page out)

-y, --sys

enable system stats (interrupts, context switches)

选项含义和字段含义都解释的很清楚吧,所以最好不过man手册。

5. kill/killall/pkill

kill实际上是给进程发送信号量的,并不一定是杀死进程,也可以是让进程reload或者从挂起状态转为继续运行状态的。

以上是所有可用的信号量,而常用的一般是以下几个:

1)SIGHUP:无须关闭进程而让其重读配置文件。

2)SIGINT:终止正在运行的进程,相当于Ctrl+C,中断。

9)SIGKILL:杀死运行中的进程。

15)SIGTERM:终止运行中的进程;通常终止为后台进程。默认信号量

18)SIGCONT:继续,让后台停止状态进程在后台继续运行。

19)SIGSTOP:停止,将进程送后台,停止状态。

使用时,可以给信号量编号,也可以给信号量全称或者是简称,不指定信号量,使用默认信号量。

killall和pkill也是同样的原理。

6. 作业控制

系统作业分为前台作业和后台作业。

前台作业(foregroud):通过终端启动,且启动后会一直占据终端。

后台作业(backgroud):可以通过终端启动,但启动后即转入后台运行(释放终端)。

让作业运行于后台

对于运行中作业使用Ctrl+Z组合键,将作业送往后台,转为停止状态。相当于发送了SIGSTOP信号量。

对于尚未启动的作业使用在命令后加上'&'来启动,像这样。

[root@localhost ~]# COMMAND &

但这样启动的作业仍然与终端相关,如果希望将其与终端剥离,可以这样。

[root@localhost ~]# nohup COMMAND &

使用jobs命令可以有哪些作业在后台运行或者被挂起。

[root@localhost ~]# jobs

[1]-  Stopped                 top

[2]   Running                 nohup dstat &

[3]+  Stopped                 ping 172.18.0.1

控制后台作业

[root@localhost ~]# fg  [[%]JOB_NUM]:把指定的作业调回前台;

[root@localhost ~]# bg  [[%]JOB_NUM]:让送往后台的作业在后台继续运行;

[root@localhost ~]# kill %JOB_NUM:终止指定的作业;

fg和bg的%可以省,kill的%是不能省的,省了就成了发送信号量了。fg和bg省略JOB_NUM时,默认是指带+号的那个作业。

linux的进程和作业控制实验报告,Linux基础--进程管理和作业控制相关推荐

  1. 进程同步算法实现实验报告Linux,操作系统进程同步实验报告.doc

    操作系统进程同步实验报告 实验三:进程同步实验 一.实验任务: (1)掌握操作系统的进程同步原理: (2)熟悉linux的进程同步原语: (3)设计程序,实现经典进程同步问题. 二.实验原理: (1) ...

  2. 进程同步算法实现实验报告Linux,进程同步:实验报告

    <进程同步:实验报告>由会员分享,可在线阅读,更多相关<进程同步:实验报告(9页珍藏版)>请在人人文库网上搜索. 1.1实验内容(进程的同步)(1) 阅读理解示例程序.(2) ...

  3. linux中c语言开发实验报告,Linux下C语言编程实验报告.doc

    第五章: Linux下的C语言编程 姓名: 学号:520913080429 专业:信息安全09-04 实验内容: 1.c语言编程 2.vi编辑器 3.gcc编辑器 4.gdb编辑器 5. gdb中运行 ...

  4. linux系统编程界面实验报告,操作系统实验报告-Linux操作使用编程.doc

    操作系统实验报告-Linux操作使用编程 实 验 报 告( 2012/ 2013 学年 第二学期) 课程名称操 作 系 统A实验名称Linux操作.使用.编程实验时间2013年 5 月 6日指导单位计 ...

  5. 操作系统 实验报告 linux 内核,linux操作系统内核实验报告.doc

    linux操作系统内核实验报告.doc linux操作系统内核实验报告 篇一:linux操作系统实验报告 LINUX操作系统实验报告 姓 名 班级学号 指导教师 2011 年 05月 16 日 实验一 ...

  6. linux电子数码相册实验报告,Linux实验报告.doc

    Linux实验报告Linux实验报告 实 验 报 告 课程名称 Linux操作系统安装配置和管理 年级班级 学号姓名 任课教师 康长青 目录 实验一. Linux常用命令的使用3 一.实验目的3 二. ...

  7. linux课程实验报告,Linux操作系统课程实验报告

    Linux操作系统课程实验报告 Linux操作系统 课程实验报告 班级: 姓名: 学号: 指导老师:田丽华 完成时间:2014年7月 目录 一.实验目的1 二.实验要求1 三.实验内容1 [第一题]1 ...

  8. Linux系统及应用(实验报告)---用户和用户组管理

    Linux系统及应用(实验报告)-用户和用户组管理 实验目的: 1.了解用户和用户组实验 2.熟悉图形的方式进行用户和用户组管理的方法 3.熟悉命令行的操作方式进行用户和用户组的管理方法 实验原理: ...

  9. linux系统进程控制实验报告,Linux进程控制实验报告.doc

    里奴性进程控制实验报告 实验名称: Linux进程控制 实验要求:一.编写一个Linux系统C程序,由父亲创建2个子进程,再由子进程各自从控制台接收一串字符串,保存在各自的全局字符串变量中,然后正常结 ...

最新文章

  1. px word 表格宽度_word怎样批量修改表格的宽度(2)
  2. Springboot跨域 ajax jsonp请求
  3. Android sqlite load_extension漏洞解析
  4. datagrid——jQuery EasyUI
  5. 禅道报表中关闭bug统计图_想要简单制作数据可视化分析报表?这个工具绝对好用...
  6. Eclipse SVN冲突解决方案
  7. RelativeLayout 常用属性
  8. Java知识导航总图
  9. 蓝桥杯 ADV-143算法提高 扶老奶奶过街
  10. history(路由控制)
  11. ios下拉效果滑动滚出页面
  12. 2. 工业大数据的特点
  13. Dissect Certificate
  14. 驱动VS1003要注意的事项
  15. 1273:【例9.17】货币系统
  16. 为什么玩转Power BI一定需要Office 365
  17. SLCP验厂辅导,SLCP是向最终用户分享已验证的评估数据的关键
  18. 魔兽中的dx写屏(原版为英文)
  19. 3、需求调研 - 产品管理系列文章
  20. —【动态规划】凸多边形最优三角剖分

热门文章

  1. 惠斯通电桥信号调理芯片_变频器通电后无反应,如何检查维修?
  2. Mysql中导入和导出数据库
  3. LeetCode 304. 二维区域和检索 - 矩阵不可变(动态规划)
  4. 微软05年面临的10大挑战
  5. HDU1401 Solitaire
  6. 串口通信中ReadFile和WriteFile的超时详解!
  7. 修ecshop品牌筛选以LOGO图片形式显示
  8. oracleI基础入门(8)--table--union
  9. Google拒绝因搜索不良信息被传唤
  10. Java无线数据增值业务概述