Linux循序渐进(13)

第十二课 进程查看   本节中要介绍的不只是进程查看方面的内容由于Linux是个多用户系统有时候也要了解其他用户现在在干什么所以在本节中还将接触多用户方面的内容同时Linux是一个多进程系统经常需要对这些进程进行一些调配和管理而要进行管理首先就要知道现在的进程情况究竟有哪些进程?进程情况如何?等等所以需要进程查看方面的工作   who命令   该命令主要用于查看当前在线上的用户情况这个命令非常有用如果用户想和其他用户建立即时通讯比如使用talk命令那么首先要确定的就是该用户确实在线上不然talk进程就无法建立起来又如系统管理员希望监视每个登录的用户此时此刻的所作所为也要使用who命令   who命令的常用语法格式如下   who [imqsuwHT] [count] [idle] [heading] [help] [message] [mesg] [version] [writable] [file] [am i]   所有的选项都是可选的也就是说可以单独使用who命令不使用任何选项时who命令将显示以下三项内容   login name登录用户名   terminal line使用终端设备   login time登录到系统的时间   如果给出的是两个非选项参数那么who命令将只显示运行who程序的用户名登录终端和登录时间通常这两个参数是am i即该命令格式为who am i   下面对who命令的常用参数进行说明   m 和who am i的作用一样显示运行该程序的用户名   qcount 只显示用户的登录帐号和登录用户的数量该选项优先级高于其他任何选项   s 忽略主要是用于和其他版本的who命令兼容   iuidle 在登录时间后面显示该用户最后一次对系统进行操作至今的时间也就是常说的发呆时间其中符号代表该用户在前秒仍然处于活动状态old则表示该用户空闲已经超过了小时   Hheading 显示一行列标题常用的标题如下   who命令输出常用标题   标 题       说 明   USER       用户登录帐号   LINE        用户登录使用终端   LOGINTIME    用户登录时间     IDLE        用户空闲时间即未进行操作的时间   PID         用户登录shell的进程ID   FROM        用户网络地址   wTmesgmessagewritable 和s选项一样在登录帐号后面显示一个字符来表示用户的信息状态   +允许写信息   不允许写信息   ?不能找到终端设备   help 在标准输出上显示帮助信息   version 在标准输出上显示版本信息   下面介绍who命令的一些基本用法   如果需要查看在系统上究竟有哪些用户可以直接使用who命令   [例] 查看登录到系统的用户情况   $ who     root tty Mar :   foxy tty Mar :   root tty Mar :   bbs ttyp Mar : (rivernet)   可以看到现在系统一共有四个用户第一列是登录用户的帐号第二列是登录所使用的终端第三列是登录时间第四列是用户从什么地方登录的网络地址这里是域名   一般来说这样就可以了解登录用户的大致情况了但有时上面的显示不是那么直观因为没有标题说明不容易看懂这时就需要使用H选项了   [例] 查看登录用户的详细情况键入   $ who uH   显示如下   USER LINE LOGINTIME IDLE FROM   root tty Mar :   foxy tty Mar : :   root tty Mar : :   bbs ttyp Mar : : (rivernet)   这样一目了然其中u选项指定显示用户空闲时间所以可以看到多了一项IDLE第一个root用户的IDLE项是一个这就说明该用户在前秒仍然是活动的而其他用户后面都有一个时间称为空闲时间   最后来看看使用who am i格式命令的结果   rivernet!root tty Mar :   可见只显示出了运行该who命令的用户情况当然这时候不存在空闲时间   who命令应用起来非常简单可以比较准确地掌握用户的情况所以使用非常广泛   w命令   该命令也用于显示登录到系统的用户情况但是与who不同的是w命令功能更加强大它不但可以显示有谁登录到系统还可以显示出这些用户当前正在进行的工作并且统计数据相对who命令来说更加详细和科学可以认为w命令就是who命令的一个增强版   w命令的显示项目按以下顺序排列当前时间系统启动到现在的时间登录用户的数目系统在最近秒秒和秒的平均负载然后是每个用户的各项数据项目显示顺序如下登录帐号终端名称远程主机名登录时间空闲时间JCPUPCPU当前正在运行进程的命令行   其中JCPU时间指的是和该终端(tty)连接的所有进程占用的时间这个时间里并不包括过去的后台作业时间但却包括当前正在运行的后台作业所占用的时间而PCPU时间则是指当前进程(即在WHAT项中显示的进程)所占用的时间下面介绍该命令的具体用法和参数   语法格式如下   w [husfV] [user]   下面对参数进行说明   h 不显示标题   u 当列出当前进程和CPU时间时忽略用户名这主要是用于执行su命令后的情况   s 使用短模式不显示登录时间JCPU和PCPU时间   f 切换显示FROM项也就是远程主机名项默认值是不显示远程主机名当然系统管理员可以对源文件作一些修改使得显示该项成为默认值   V 显示版本信息   User 只显示指定用户的相关情况   [例] 显示当前登录到系统的用户的详细情况   $ w   :pm up min users load average:   USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT   root tty :pm :s s s w   foxy tty :pm : s s bash   root tty :pm s s s telnet bbs   bbs ttyp rivernet :pm s s s bbs h rivernet   ps命令    ps简介   前面介绍的两个命令都是用于查看当前系统用户的情况下面就来看看进程的情况这也是本章的主题要对进程进行监测和控制首先必须要了解当前进程的情况也就是需要查看当前进程而ps命令就是最基本同时也是非常强大的进程查看命令使用该命令可以确定有哪些进程正在运行和运行的状态进程是否结束进程有没有僵死哪些进程占用了过多的资源等等总之大部分信息都是可以通过执行该命令得到的    ps命令及其参数   ps命令最常用的还是用于监控后台进程的工作情况因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的所以如果需要检测其情况便可以使用ps命令了   该命令语法格式如下   ps [选项]   下面对命令选项进行说明   e 显示所有进程   f 全格式   h 不显示标题   l 长格式   w 宽输出   a 显示终端上的所有进程包括其他用户的进程   r 只显示正在运行的进程   x 显示没有控制终端的进程   O[+|] k [[+|] k […]] 根据SHORT KEYSkk中快捷键指定的多级排序顺序显示进程列表对于ps的不同格式都存在着默认的顺序指定这些默认顺序可以被用户的指定所覆盖其中+字符是可选的字符是倒转指定键的方向   pids 只列出指定进程的情况各进程ID之间使用逗号分隔该进程列表必须在命令行参数的最后一个选项后面紧接着给出中间不能插入空格比如ps f   以下介绍长命令行选项这些选项都使用开头   sort X[+|] key [[+|] key […]] 从SORT KEYS段中选一个多字母键+字符是可选的因为默认的方向就是按数字升序或者词典顺序比如 ps jax sort=uidppid+pid   help 显示帮助信息   version 显示该命令的版本信息   在前面的选项说明中提到了排序键接下来对排序键作进一步说明需要注意的是排序中使用的值是ps使用的内部值并非仅用于某些输出格式的伪值排序键列表见表   表 排序键列表   短格式    长格式     说 明   c       cmd      可执行的简单名称   C       cmdline    完整命令行   f       flags      长模式标志   g       pgrp      进程的组ID   G       tpgid      控制tty进程组ID   j        cutime     累计用户时间   J       cstime      累计系统时间   k       utime      用户时间   K       stime      系统时间   m       min_flt     次要页错误的数量   M     < 接受失败等于回归真实的自我,接受失败等于打破完美的面具,

Linux循序渐进(13)

相关文章:

你感兴趣的文章:

标签云: