ps

ps是英文“process status”的缩写,顾名思义是显示当前进程的状态。

# 查看ps版本
ps --version
 
# 查看帮助
ps --help <simple|list|output|threads|misc|all>
# 或者
ps --help <s|l|o|t|m|a>
# 再或者,更详细的ps文档:
man ps

# 查看全部进程信息
ps -ef
# 或
ps -el
# -l 代表长格式,输出内容更多
# 或
ps aux
# 注意:不是ps -aux

常用选项

  • -e:展示所有的进程,等同于-A

  • -f:以完整格式输出,包括命令行(包括参数)。

    说明
    UID 创建进程的账户,例如:root
    PID 进程ID
    PPID 父进程ID
    C 代表CPU使用率,单位为百分比。
    STIME 进程的启动时间。
    TTY 登录者的终端位置,若为远程登录则使用动态终端接口名称(pts/n)
    TIME 此进程实际花费CPU运行的时间。
    CMD 创建此进程的命令名(带参数)。
  • -l:以长格式输出,输出项比-f更多,但又有区别,比如-l就不会展示命令的参数。

    说明
    F 进程标识,说明此进程的权限。“4”表示此进程的权限为root,“1”表示此子进程仅执行了复制,而并未执行。
    S 进程状态,R表示该进程正在运行中,S表示该进程正处在睡眠状态但可以被唤醒,D表示该进程处在不可被唤醒的睡眠状态,通常该线程可能在等待IO,T表示停止状态,Z表示僵尸状态,即进程已经终止但无法被从内存中删除(这样看的话,“僵尸”这个名字还真是贴切)
    UID 运行该进程的用户ID。
    PID 该进程的ID。
    PPID 父进程的ID
    C 代表CPU使用率,单位为百分比。
    PRI Priority的缩写,与进程优先级有关。
    NI Nice的缩写,与进程优先级有关。
    ADDR kernel function,指出该进程在内存的哪个部分。
    SZ 代表此进程用掉了多少内存。
    WCHAN 标识当前进程是否运行,-表示正在运行。
    TTY 登录者的终端位置,若为远程登录则使用动态终端接口名称(pts/n)
    TIME 此进程实际花费CPU运行的时间。
    CMD 创建此进程的命令名(不带参数)。
  • -u:筛选指定用户创建的进程,例如:筛选“root”创建的进程:ps -u root