日期:2014-05-16  浏览次数:20629 次

Linux命令 -- ps

      Linux操作系统中我们最常看见和应用的命令有一个叫做 ps , 利用这个命令我们可以查看当前有哪些进程存在,默认情况下这个命令列出的仅和终端相关,如果需要列出所有的进程,那么,我们需要加上一些参数,我们可以这样做:

      ps aux

      ps -el 或 ps -el

      下面,我来介绍下ps命令列出的各个字段的含义,首先,贴出命令的输出结果:

administrator@ubuntu:~$ ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000 19303 14657 11  80   0 -  2401 wait   pts/0    00:00:00 bash
0 R  1000 19359 19303  0  80   0 -  1549 -      pts/0    00:00:00 ps

      从左到右各个字段的含义依次是:

进程的标志,进程的状态,进程的ID,进程的父进程ID,进程的父进程的父进程ID,进程的CPU占用率,进程的优先权,进程的Nice值,进程的地址空间,进程占用内存的大小,进程当前是否在运行,进程所属终端,进程的运行时间,进程的命令.


      我们可以安装 pstree 命令来以树的形式查看系统中的进程,它的运行结果就好像这样:

init─┬─NetworkManager───{NetworkManager}
     ├─accounts-daemon───{accounts-daemo}
     ├─acpid
     ├─atd
     ├─avahi-daemon───avahi-daemon
     ├─bamfdaemon───{bamfdaemon}
     ├─bluetoothd
     ├─chmsee───3*[{chmsee}]
     ├─chrome─┬─chrome
     │        ├─chrome───2*[{chrome}]
     │        └─28*[{chrome}]
     ├─chrome-sandbox───chrome─┬─10*[chrome───3*[{chrome}]]
     │                         ├─chrome───23*[{chrome}]
     │                         └─nacl_helper_boo
     ├─colord───2*[{colord}]
     ├─console-kit-dae───64*[{console-kit-da}]
     ├─cron
     ├─cupsd
     ├─2*[dbus-daemon]
     ├─dbus-launch
     ├─dconf-service───2*[{dconf-service}]
     ├─dhclient
     ├─empathy───2*[{empathy}]
     ├─fcitx───{fcitx}
     ├─gconfd-2
     ├─geoclue-master
     ├─6*[getty]
     ├─gnome-keyring-d───4*[{gnome-keyring-}]
     ├─gnome-screensav───2*[{gnome-screensa}]
     ├─goa-daemon───{goa-daemon}
     ├─gsd-printer───{gsd-printer}
     ├─gvfs-afc-volume───{gvfs-afc-volum}
     ├─gvfs-fuse-daemo───3*[{gvfs-fuse-daem}]
     ├─gvfs-gdu-volume
     ├─gvfs-gphoto2-vo
     ├─gvfsd
     ├─gvfsd-burn
     ├─gvfsd-metadata
     ├─gvfsd-trash
     ├─indicator-appli───{indicator-appl}
     ├─indicator-datet───2*[{indicator-date}]
     ├─indicator-messa───{indicator-mes