PS命令

ps -ef | grep xxx

把进程及其相应信息打印出来,通过grep筛选想要的进程。
第一列是用户名;第二列是PID;第三列是 PPID
image.png

ps -aux | grep xxx

Ssl这一列是进程状态。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
image.png

USER: 行程拥有者 PID: pid %CPU: 占用的 CPU 使用率 %MEM: 占用的记忆体使用率 VSZ: 占用的虚拟记忆体大小

RSS: 占用的记忆体大小

TTY: 终端的次要装置号码 (minor device number of tty)

STAT: 该行程的状态: START: 行程开始时间

TIME: 执行的时间

COMMAND:所执行的指令

  1. STAT: 该行程的状态:
  2. D: 不可中断的静止
  3. R: 正在执行中
  4. S: 静止状态
  5. T: 暂停执行
  6. Z: 不存在但暂时无法消除
  7. W: 没有足够的记忆体分页可分配
  8. <: 高优先序的行程
  9. N: 低优先序的行程
  10. L: 有记忆体分页分配并锁在记忆体内
  11. X 死掉的进程
  12. < 高优先级
  13. N 低优先级
  14. L 有些页被锁进内存
  15. s 包含子进程
  16. + 位于后台的进程组;
  17. l 多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

FAQ

1、PID与PPID

  • Process ID(PID)
    Linux中标识进程的一个数字,它的值是不确定的,是由系统分配的(但是有一个例外,启动阶段,kernel运行的第一个进程是init,它的PID是1,是所有进程的最原始的父进程),每个进程都有唯一PID,当进程退出运行之后,PID就会回收,可能之后创建的进程会分配这个PID
  • Parent Process ID(PPID)
    字面意思,父进程的PID

2、tty和pts

  1. 都是终端。pts伪终端。