Linux进程与线程

一、进程

  • 可执行程序的运行态
  • 操作系统调度的基本单位
  • 线程容器
  • 进程本身包含指令、数据等资源

二、线程

  • 线程是进程中被执行的最小单元
  • 线程是CPU中被执行的最小单位
  • 线程带指令、数据等资源

三、进程的生命周期

  • create sleep 100 ./demo.py
  • ready
  • running
  • waiting
  • terminated kill kill all
    image

四、常用的经常管理命令

  • ps:进程列表快照

    • unix风格 参数:ps -ef
      image

    • bsd风格 参数:ps aux
      image

    • gnu风格 参数:ps --pid pidlist

    • 自定义输出指标 ps -o pid,ppid,psr,thcount,tid,cmd -m
      image

  • top:交互式命令观测

  • kill killall:结束进程

  • fg:进程切换到前台

  • bg:进程切换到后台

  • ctrl z:挂起进程
    ps:运行任何一个命令都在创建一个进程

进程状态

  • D uninterruptible sleep (usually IO)
  • R running or runnable (on run queue)
  • S interruptible sleep (waiting for an event to complete)
  • T stopped by job control signal
  • t stopped by debugger during the tracing
  • W paging (not valid since the 2.6.xx kernel)
  • X dead (should never be seen)
  • Z defunct (“zombie”) process, terminated but not reaped by its parent
    image
    image