Linux学习 - 进程管理

OrzMiku / 2023-08-20 / 原文

进程管理

进程的概念

  • 进程便是正在运行的程序。
  • 进程是程序在某个数据集合上的运行活动,是系统进行资源分配和调度的一个独立单位。

进程的类型

从应用程序角度

  • 交互进程:由用户在shell提示符下启动的进程,执行过程中可以和用户进行交互。
  • 批处理进程:不与特定的终端相关联,提交到等待队列种顺序执行的进程。
  • 守护进程:常驻内存,不与特定的终端相关联,主要用于为用户或其它进程提供服务

按前后台

  • 前台进程:在程序运行时,shell 被暂时挂起,直到该程序运行结束后,才退回到 shell。在这个过程中,用户不能再执行其它程序。
  • 后台进程:用户不必等待程序运行结束就可以执行其它程序。运行后台进程的方法是在命令行最后加上 “&”。

进程的状态

Linux中,进程运行状态可基本分为:运行态、阻塞(睡眠)态、就绪态。

进程的状态

  • 运行态:进程获得cpu时间片、并获得IO设备的控制权。
  • 就绪态:此时,程序已被挂入运行队列,处于准备运行状态;一旦获得处理器使用权,即可进入运行状态。
  • 阻塞(睡眠)态:此时,由于进程未获得它所申请的资源而处在等待状态。一旦资源有效或者有唤醒信号,进程会立即结束等待而进入就绪状态

进程查看

PS命令

查看进程快照

ps [-aux] [-u user]

参数

  • -a 查看所有用户的前台进程
  • -u 显示当前用户的所有进程
  • -x 无终端的进程,一般与a配合,显示系统所有进程
  • -u user 查看指定用户的进程

top命令

动态显示系统进程信息,类似于Win中的资源管理器

top [-d n]

参数

  • -d 更新速度,单位 s

kill命令

kill -n pid 或 kill -l

参数

  • -n pid 向进程号pid的进程发送信号n
  • -l 列出所有信号
  • -9 强行终止进程,慎用