进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝。

1,ps命令
作用:ps命令主要用于查看系统中进程的状态。
用法:ps [选项]
主要选项如下:
    -e 显示所有进程
    -a 跟终端无关的进程 (BSD风格,不加横杆)
    -x 跟终端有关的进程
    -u 发起者
    -F 额外信息
    -f 显示完整信息
    -j 以作业的方式显示进程
    -H 显示进程的关系
    -o 自定义显示哪些字段
 单一的命令往往显示的结果不是很理想,这里我们可以多个选项同时使用。
 例:ps aux  命令可以获得终端上所有用户的有关进程的所有信息
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2064   652 ?        Ss   10:05   0:00 init [3]

其中VSZ  虚拟地址大小
    RSS  物理内存大小
 例:例:ps ax
pid  tty  stat time command
  1  ?    Ss   0:00 init [3]

其中   tty中?表示与终端无关
      stat(状态)
        D 不可中断 sleep
        S 可中断 sleep
        R 正在运行或可运行的
        T 停止态
        Z 僵尸态 父进程替子进程收尸
          父进程死的时候会先替子进程找到另外一个父进程
        x 死亡状态
        w  paging
     状态的变化:stoped--sleep--ready--running
 注:sleep (可中断sleep 和不可中断sleep)
        PID 这个进程的ID,下面的PPID为父进程的ID
     在BSD中也会有:
        < 表示高优先级的进程
        N 低优先级
        + 属于某个前台组的进程
        s 某一个回话的leader进程
        l 线程加锁
        + 后台运行进程组
  例:ps -l
  [root@station100 ~]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  9706  9704  0  75   0 -  1166 wait   pts/1    00:00:00 bash
4 R     0  9908  9706  0  77   0 -  1052 -      pts/1    00:00:00 ps
     F:表示这个进程的标志(flag),4表示用户为超级用户。
     S:表示这个进程的状态(STAT)。
     PID:这个进程的ID,下面的PPID为父进程的ID。
     C:CPU使用的资源百分比
     PRI:Priority(优先级)的缩写。
     NI:Nice值
     ADDR 这是核心功能,指出该进程在内存的那一部分,如果是运行的进程一般都是“-”
     SZ:用掉的内存大小
     WCHAN 当前进程是否正在运行,若为“-”表示正在运行。   
     TTY:登录者的终端位置。
     TIME:用掉的CPU时间。
     CMD 所执行的命令。
  例:ps auxw --sort=rss
    按内存占用情况对进程排序
  例:ps auxw --sort=%cpu
   在进行系统维护时,如果CPU负载突然增加,而又不知道是哪一个进程造成的

其他部分ps命令:
To see every process on the system using standard syntax:
   ps -e
   ps -ef
   ps -eF   显示PID及PPID信息
   ps -ely  会显示nice值NI及优先级PRI

To see every process on the system using BSD syntax:
   ps ax
   ps axu

To print a process tree:
   ps -ejH
   ps axjf  相当于ps -aFH或afh 显示进程关系

To get info about threads
   ps -eLf
   ps axms

To get security info:              
   ps -eo euser,ruser,suser,fuser,f,comm,label
   ps axZ
   ps -eM

To see every process running as root (real & effective ID) in user format:
   ps -U root -u root    自定义显示格式

To see every process with a user-defined format:
   ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
   ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
   ps -eopid,tt,user,fname,tmout,f,wchan

Print only the process IDs of syslogd:
   ps -C syslogd -o pid=

Print only the name of PID 42:
   ps -p 42 -o comm=

2,pstree:显示进程状态树
作用:pstree命令列出当前的进程,以及它们的树状结构。
用法:pstree [选项] [pid|user]

主要选项如下。

-a:显示执行程序的命令与完整参数。

-c:取消同名程序,合并显示。

-h:对输出结果进行处理,高亮显示正在执行的程序。

-l:以长用法显示。

-n:以PID大小排序。

-p:显示PID。

-u:显示UID信息。

-G:使用VT100终端编码显示,生成比较清晰的树

-U:使用UTF-8(Unicode)编码显示。
它能将当前的执行程序以树状结构显示。pstree命令支持指定特定程序(PID)或使用者(USER)作为显示的起始。

3,top:显示进程
作用:top命令用来显示系统当前的进程状况。
用法:top [选项]
主要选项如下。
     -b:以批处理的方式执行top,通常会搭配数据流重导向,将批处理的结果输出为文件。
   -c:显示程序并显示程序的完整相关信息,如名称、路径等。
   -i:忽略闲置或已经冻结的程序。
     -d:后面可以接秒数,就是整个进程画面更新的秒数,默认是5秒。
       -n:与-b搭配,需要进行几次top的输出结果。
       -p<进程号>:指定某些个PID来进行观察检测。
     -s:安全模式。
     -u:指定用户名。
   -v:显示版本信息。
   -h:显示帮助信息。
    top命令和ps命令的基本作用是相同的,都是显示系统当前的进程状况。但是top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。
 例:top
top - 19:21:34 up  9:15,  3 users,  load average: 0.00, 0.00, 0.00
Tasks:  80 total,   1 running,  79 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.0%id,  0.7%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    515444k total,   360684k used,   154760k free,    99876k buffers
Swap:  1048568k total,        0k used,  1048568k free,   214912k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                             
 9954 root      15   0  2196  992  804 R  0.3  0.2   0:00.05 top                                  
    1 root      15   0  2064  620  536 S  0.0  0.1   0:04.26 init                                 
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0                          
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0                          
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                          
    第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。
第二行显示的是所有启动的、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程。
第三行显示的是目前CPU的使用情况。
第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。
第五行显示交换分区的使用情况,包括总的、使用的、空闲的和用于高速缓存的交换分区。
第六行显示的项目最多,下面列出了详细解释。
PID(Process ID):进程标志号,是非零正整数。
USER:进程所有者的用户名。
    PR:进程的优先级别。
NI:进程的优先级别数值。
    VIRT:进程占用的虚拟内存值。
RES:进程占用的物理内存值。
SHR:进程使用的共享内存值。
STAT:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
     %CPU:该进程占用的CPU使用率。
%MEM:该进程占用的物理内存和总内存的百分比。
TIME:该进程启动后占用的总的CPU时间。
COMMAND:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

在top执行过程中可以使用的按键命令:
     ?:显示在top中可以输入的按键命令。
<空格>:立刻刷新。
P:按CPU的使用资源排序显示。
T:该进程使用的CPU时间累积(TIME+)排序。  
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:按内存的使用资源排序显示。
     N:按PID来排序
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
     r:给某个PID重新确定一个值。
     q:退出top命令。
top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。
   例:top -c
显示程序及其完整相关信息

例:top -d 3
    设定top命令的时间间隔为3秒

例:top -n 5
   设定系统任务信息更新5次后结束top命令

4,who
  作用:该命令主要用于查看当前在线上的用户情况。
who命令的常用参数进行说明。
-m 和“who am i”的作用一样,显示运行该程序的用户名。
-q,--count 只显示用户的登录帐号和登录用户的数量,该选项优先级高于其他任何选项。
-s         忽略。主要是用于和其他版本的who命令兼容。
-i,-u,--idle 在登录时间后面显示该用户最后一次对系统进行操作至今的时间,也就是常说的“发呆”时间。
-H,--heading 显示一行列标题

5,w命令
   该命令也用于显示登录到系统的用户情况,但是与who不同的是,w命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,并且统计数据相对who命令来说更加详细和科学,可以认为w命令就是who命令的一个增强版。

相应参数进行说明:
-h 不显示标题。
-u 当列出当前进程和CPU时间时忽略用户名。这主要是用于执行su命令后的情况。
-s 使用短模式。不显示登录时间、JCPU和PCPU时间。
-f 切换显示FROM项,也就是远程主机名项。默认值是不显示远程主机名,当然系统管理员可以对源文件作一些修改使得显示该项成为默认值。
-V 显示版本信息。

6,其他配合使用的命令
  pgrep -G root 显示所有的pid
  pidof cupsd  获取某个进程的pid(cupsd为一个进程名)
  free -m      查看虚拟内存的使用情况
  kill  进程号 默认信号是15
  killall 进程名
  例:killall httpd
      pkill SINGAL pattern

7,nice值及优先级

静态优先级:100-139 ,可以调整
动态优先级:0-99 数字小优先级小 (实时优先级)

手动调整,nice(-20 - 19)默认为零 把自己的优先级降低(普通用户)
                                   可以随意调整自己的优先级(root管理者)
nice 启动进程时直接指定nice值
nince -n 6 COMMAND

renice:对已经启动过的进程调整其nice值
renice -5 423 (-5为nice值,优先级,423为进程号)

8,作业控制(job)
实际中是:shell结束 作业也结束
使用&后: shell结束 作业不结束

例:nohup cp -r /etc /tmp/abc &
   shell结束,作业不结束

ctrl+z      把job送到后台 stoped状态
&           在后台也在运行
fg          调用到前台
jobs        查看在后台的作业
fg          默认调用的是带+号的作业,调用后台job
ps aux | ls 查看ls的id
bg %2       2为作业号
kill %2     直接杀死作业 显示已终止
kill -9 %2  直接杀死 显示已杀死

转载于:https://blog.51cto.com/kingshuo/627406

linux中查看进程相关推荐

  1. linux:进程占用的端口,在linux中查看进程占用的端口号

    在Linux 上的 /etc/services 文件可以查看到更多关于保留端口的信息. 可以使用以下六种方法查看端口信息. ss:可以用于转储套接字统计信息. netstat:可以显示打开的套接字列表 ...

  2. linux进程查看所有线程,Linux中查看进程的多线程的方法

    在SMP系统中,我们的应用程序经常使用多线程的技术,那么在Linux中如何查看某个进程的多个线程呢? 本文介绍3种命令来查看Linux系统中的线程(LWP)的情况: 在我的系统中,用qemu-syst ...

  3. Linux中查看进程的虚拟地址空间内存布局

    要查看一个进程的虚拟地址空间的内存布局,需要设置阻塞.如果没有设置阻塞,当./a.out按下去后,程序执行的速度非常快以至于来不及查看,所以需要设置阻塞. #include<stdio.h> ...

  4. Linux中查看进程命令ps -aux和ps -ef

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格, ...

  5. linux中查看进程命令ps aux和ps -ef

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格, ...

  6. linux中查看进程的启动时间

    ps -p PID -o lstart,etime PID          进程ID lstart        启动时间 etime       elapsed time已运行时间

  7. linux怎么看go写的程序进程,Linux中查看进程状态信息-Go语言中文社区

    Linux中查看进程状态信息 一.常用命令总结 ps -l   列出与本次登录有关的进程信息: ps -aux   查询内存中进程信息: ps -aux | grep ***   查询***进程的详细 ...

  8. Linux中查看进程状态信息

       Linux中查看进程状态信息 一.常用命令总结  ps -l   列出与本次登录有关的进程信息:    ps -aux   查询内存中进程信息:    ps -aux | grep ***    ...

  9. linux mysql 进程查看工具_linux查看正在运行的进程(如何在Linux中查看所有正在运行的进程)...

    如何在Linux中查看所有正在运行的进程 名称:ps 使用权限:所有使用者 使用方式:ps [options] [--help] 说明:显示瞬间行程 (process) 的动态 参数:ps的参数非常多 ...

最新文章

  1. Windows下Eclipse配置基于MinGW的C/C++开发环境
  2. Openresty最佳案例 | 第1篇:Nginx介绍
  3. mustache语法 转自小花大方
  4. webapi+Quartz.NET解决若干定时程序同时运行的问题
  5. 从技术分工的角度来看996.ICU
  6. BlockChain:区块链入门课程 -- 区块链之类型 、应用程序、技术挑战和潜力
  7. 微信视频号Android面试经验,如何通过视频面试拿下offer?我们来给你支招啦!
  8. 推荐系统-Task02数据库基本使用
  9. Android 电子市场
  10. linux dd 错,dd命令错误写入设备上没有剩余空间[关闭](dd command error writing No space left on device [closed])...
  11. 【论文复现】ARBITRAR : User-Guided API Misuse Detectionl
  12. jpeg jpg 格式_JPG / JPEG的完整格式是什么?
  13. ALEXA中国网站排名真相调查[内幕调查:出卖Alexa]
  14. nemesis什么车_世界上十大最强的超级跑车,Trion Nemesis排名第一
  15. 富途证券后端PHP面经
  16. AVUE 点击编辑按钮拉起弹窗前增加自己的操作
  17. UIQ来电监听挂断原理和代码
  18. 计算机对儿童的影响英语作文,儿童是我们计算机的影响英语作文
  19. quarkus数据库篇之一:比官方demo更简单的基础操作
  20. 如何在线快速把json数据转excel表格

热门文章

  1. ai怎么让图片任意变形_想一键提取图片文字,有什么好的文字识别软件/APP推荐吗?...
  2. 脉位调制解调 matlab,通信原理与matlab仿真v2 第五章 DBPSK调制解调器(1)
  3. 大学计算机需要论文吗,关于大学计算机论文范文.docx
  4. ironpython this_IronPython sys._getframe not found
  5. python中while语句是_如何在Python中使用while语句[适合初学者]
  6. java mapreduce教程_Java搭建MapReduce完成二次排序步骤
  7. 江西财经大学计算机排名2019,2019年全国商科院校评价报告出炉 江西财经大学排名第七...
  8. C++中类的拷贝控制
  9. java jdbc rowset_JAVA基础知识之JDBC——RowSet
  10. 10.8.8.8柠檬wifi网页登录_基于企业邮箱进行wifi实名认证的方案