# 進程概念
從用戶角度:進程就是一個正在運行中的程序。
操作系統角度:操作系統運行一個程序,需要描述這個程序的運行過程,這個描述通過一個結構體`task_struct{}`來描述,統稱為`PCB`,因此對操作系統來說進程就是`PCB(process control block)`程序控制塊
進程的描述信息有:標識符`PID`,進程狀態,優先級,程序計數器,上下文數據,內存指針,`IO`狀態信息,記賬信息。都需要操作系統進行調度。
# 查看進程
查看進程,我們使用`ps`命令即可查看
語法:
~~~
ps [options]
~~~
選項:
* `-A`: 列出所有的進程
* `-w`: 顯示加寬可以顯示較多的資訊
* `-au`: 顯示較詳細的信息
* `-aux`: 顯示所有包含其他使用者的行程
`aux`格式輸出示例如下:
~~~
[root@bogon ~]# ps -aux | head -3
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 193968 5232 ? Ss 11月28 0:31 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 11月28 0:00 [kthreadd]
~~~
* `USER`:啟動此進程的用戶,也就是進程的擁有者
* `PID`: 進行`ID`
* `%CPU`:當前進程對`CPU`的占用率
* `%MEM`:當前進程對內存的占用率
* `VSZ`:占用虛擬內存的大小
* `RSS`:占用實際內存的大小
* `TTY`:進程運行的終端,如果是`?`則表示是本機打開的,遠程登錄通常是`pts`
* `STAT`:進程狀態:
* `D`(不可中斷休眠狀態)——進程正在休眠并且不能恢復,直到一個事件發生為止
* ` R`(運行狀態)——進程正在運行
* `S`(休眠狀態)——進程沒有在運行,而在等待一個事件或是信號
* `T`(停止狀態)——進程被信號停止,比如,信號 `SIGINT` 或 `SIGSTOP`
* `Z`(僵死狀態)——標記為 的進程是僵死的進程,它們之所以殘留是因為它們的父進程適當地銷毀它們。如果父進程退出,這些進程將被 init 進程銷毀
* `START`: 進程開始執行的時間
* `TIME`:進行執行的時間
* `START`: 進程開始時間
* `COMMAND`:所執行的命令
- 序言
- Linux 的安裝
- VMware 的安裝
- VMware 的配置
- CentOS 下載與虛擬機硬件配置
- Linux 的分區
- ContOS 安裝
- 虛擬機網絡配置
- 遠程連接工具安裝
- 基礎(舊)
- Linux 和 Windows 的區別
- 目錄結構
- 注意事項
- Linux的常用命令
- 用戶及用戶組
- 文件及權限
- 目錄與文件權限的意義
- 文件及目錄管理相關
- 常用命令
- 系統安裝
- Linux的簡介
- Linux 各發行版介紹
- CentOS的部署
- 基礎
- 文件和用戶管理
- Linux目錄結構
- 文件管理相關
- cd 切換目錄
- pwd 顯示當前位置
- ls 列出目錄下的文件和子目錄
- touch 創建文件
- mkdir 創建目錄
- cp 復制文件/目錄
- mv 移動或改名文件/目錄
- rm 刪除文件/目錄
- chattr 改變文件屬性
- lsattr 顯示文件屬性
- 用戶管理
- useradd 添加用戶
- passwd 修改用戶密碼
- id 查看用戶ID信息
- userdel 刪除用戶
- usermod 修改用戶信息
- groupadd 創建用戶組
- groupdel 刪除用戶組
- su 切換用戶帳號
- sudo 以管理員的身份執行命令
- 權限管理
- chmod 修改文件/目錄權限
- chown 修改文件擁有者或所屬組
- chgrp 修改文件所屬組
- setfacl 設置文件權限列表
- getfacl 查看文件權限列表
- vim的使用
- 進程管理
- ps 查看進程
- top 動態顯示進程
- kill 殺死進程
- nice 修改進程優先級
- jobs 顯示后臺任務列表及任務狀態
- fg 將后臺運行的進程調整至前臺運行
- bg 將在后臺暫停進行繼續執行
- 磁盤管理
- lsblk 列出塊設備信息
- fdisk 磁盤分區
- partprobe 重新讀取分區表
- mkfs 建立文件系統(格式化)
- mont 掛載設備
- df 查看磁盤使用情況
- unount 卸載掛載設備
- 交換空間 swap
- free 查看內存使用狀態
- mkswap 設置交換分區
- swapon 激活交換空間
- LVM邏輯卷管理
- LMV的工作原理
- pvcreate 創建物理卷
- pvs 查看物理卷
- pvscan 查看每個PV的信息
- pvdisplay 顯示物理卷詳細信息
- vgcreate 創建卷組
- vgs 查看卷組
- vgscan 查看每個VG的信息
- vgdisplay 顯示卷組詳細信息
- lvcreate 創建邏輯卷
- vgextend 擴展卷組空間
- lvextend 擴展邏輯卷空間
- resize2fs 調整文件系統大小
- RAID
- 文件查找和壓縮
- which 命令查找
- find 根據文件名查找文件
- locate 查找文件
- tar 文件打包
- 軟件安裝
- RPM包管理
- yum 安裝軟件
- rpm 安裝軟件
- 源碼包管理
- 計劃任務
- at 一次性計劃任務
- cron 循環任務
- 日志系統
- 網絡管理
- ip 顯示或設置網絡設備
- OSI簡介