2025-01-02 10:46:09 +08:00

72 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 1、进程
进程是一个具有一定独立功能的程序在一个数据及上的一次动态执行的过程。是操作系统进行资源分配的一个独立单位
**进程的基本状态**
创建状态进程在创建时需要申请一个空白的PCB进程控制块向其中填写控制和管理进程的信息完成资源分配。
就绪状态进程已准备好已分配到所需资源只要分配到CPU就能够立即运行
执行状态:进程处于就绪状态被调度后,进程进入执行状态
阻塞状态正在执行的进程由于某些事件I/O请求申请缓存区失败而暂时无法运行进程受到阻塞。满足请求时进入就绪状态等待系统调用
终止状态:进程结束,或出现错误,或系统终止,进入终止状态。无法再执行
- R (Running):进程正在运行,或在运行队列中等待运行。
- S (Sleeping):进程处于休眠状态,等待某些条件的发生(例如等待资源可用或新的输入数据)。
- D (Uninterruptible Sleep):进程在等待 I/O 完成,不能被打断。
- T (Stopped or Traced):进程被停止(例如,被调试器停止)。
- Z (Zombie):进程已经终止,但其父进程尚未获取其终止状态(称为 "僵尸进程")。
**进程类型:**
守护进程daemon在系统引导过程中启动的进程和终端无关的进程
前台进程:跟终端相关,通过终端启动的进程
## 2、线程
线程是程序执行中一个单一的吮吸控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位,一个进程可以有一个或多个线程
## 3、协程
协程的调度由用户完成,资源占用小,不会带来严重的性能问题,不需要多线程的锁机制,因为只有一个小城,也不存在同时写变量冲突。
## 4、常用命令
##### 4.1 pstree
```shell
pstree
常用选项:
-p 显示PID
-T不显示线程默认显示线程
-u显示用户切换
-H高亮显示指定进程及其前辈进程
```
##### 4.2 ps
```shell
ps
常用选项:
a选项包括所有终端中的进程
x选项包括不连接终端的进程
u显示进程的所有者信息
f显示进程数
```
##### 4.3 prtstat
```shell
prtstat -r pid
```
pidof
pgrep
top
htop
glance
pmap
vmstat
dstat
kill
pkill
job
lsof
bg
fg
kill
nohup
nethogs
free
iostat
```shell
该软件存放于sysstat包
```