Linux一些操作合集之计算机组成与进程

指令

(1) 指令 : 是指示计算机执行某种操作的命令。一条指令通常由两部分构成:地址码 和操 作码。
(2) 程序 : 由一条一条的指令构成。
(3) 指令周期 :cpu 每取出并执行一条指令所需的全部时间称为指令周期。
(4) 指令系统 :计算机能够执行的全部指令的集合称为该计算机的指令系统。
(5) RISC :精简指令系统计算机。
(6) CISC :复杂指令系统计算机。
(7) 程序与指令:高级语言 汇编助记符 机器指令

进程

什么是进程?
运行起来的程序。
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
什么是线程?
线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。进程内部至少有一个线程。
什么是程序?

PID

PID(Process Identification)操作系统里指进程识别号,也就是进程标识符。操作系统里每打开一个程序都会创建一个进程ID,即PID。
PID(进程控制符)英文全称为Process Identifier,它也属于电工电子类技术术语。
PID是各进程的代号,每个进程有唯一的PID编号。它是进程运行时系统随机分配的,并不代表专门的进程。在运行时PID是不会改变标识符的,但是你终止程序后再运行PID标识符就会被系统回收,就可能会被继续分配给新运行的程序。

PCB

进程控制块,进程的属性信息。
在操作系统中会使用链表将PCB连接在一起,
链表中有多少个节点,这个操作系统就有多少个进程,操作系统通过管理PCB来管理运行起来的进程
在这里插入图片描述
进程描述信息:
• 进程标识符用于唯一的标识一个进程(pid,ppid)。
进程控制信息:
• 进程当前状态
• 进程优先级
• 程序开始地址
• 各种计时信息
• 通信信息
资源信息:
• 占用内存大小及管理用数据结构指针
• 交换区相关信息
• I/O设备号、缓冲、设备相关的数结构
• 文件系统相关指针
现场保护信息(cpu进行进程切换时):
• 寄存器
• PC
• 程序状态字PSW
• 栈指针

进程管理命令

ps

只显示当前终端的进程。
默认显示与当前终端有关的进程信息
-A 列出所有的进程
-e 等于“-A”
-a 显示现行终端机下的所有进程,包括其他用户的进程;
-u 以用户为主的进程状态 ;
x 通常与 a 这个参数一起使用,可列出较完整信息。
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-f 做一个更为完整的输出。
-L 显示进程中的线程 ID

ps与grep组合法。打印指定进程信息
在这里插入图片描述
显示所有进程信息,连带命令行
在这里插入图片描述
UID: 说明该程序被谁拥有(用户ID)
PID:就是指该程序的 ID(进程ID)
PPID: 就是指该程序父级程序的 ID(父进程号)
C: 指的是 CPU 占用率
STIME: 程序的启动时间
TTY: 指的是登录终端
TIME : 表示进程执行起到现在总的CPU占用时间
CMD: 启动这个进程的命令,它其实就是一个启动进程的命令
最常用的命令:ps -aux
在这里插入图片描述
USER 表示哪个用户启动了这个进程;
PID 表示进程的ID;
%CPU 表示cpu的占用率;占用越高,进程越消耗资源。
%MEM 表示内存的使用率;占用越高,进程越消耗资源。
VSZ 如果一个程序完全驻留在内存中一共需要会用多少内存;(该进程所占的虚拟内存大小,单位kb)
RSS 表示进程当前实际上占用了多少内存,注意不要跟VSZ混淆,VSZ的前提是进程完全驻留在内存中;该进程所占的物理内存大小,单位kb)
TTY 表示tty终端;tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符结面终端,tty是图形终端。ps/0-256代表虚拟终端。
STAT 表示当前进程的状态,(S表示处于休眠状态,D表示不可中断的状态,Z表示僵尸进程,X表示死掉的进程);
START 启动这个命令的时间点;
TIME 进程执行起到现在总的CPU占用时间;
COMMAND 表示启动这个进程的命令。

pstree

pstree命令以树状图显示进程间的关系(display a tree of processes)。ps命令可以显示当前正在运行的那些进程的信息,但是对于它们之间的关系却显示得不够清晰。在Linux系统中,系统调用fork可以创建子进程,通过子shell也可以创建子进程,Linux系统中进程之间的关系天生就是一棵树,树的根就是进程PID为1的init进程。
在这里插入图片描述

jobs

显示当前终端的任务
在这里插入图片描述
sleep:睡眠 n 秒
&:后台运行程序

fg bg

fg %任务号 将后台运行的或挂起的进程挪到前台执行
bg %任务号 将挂起的进程唤醒到后台执行
在这里插入图片描述

kill

在这里插入图片描述
在这里插入图片描述
结束或者挂起一个进程
-9 强制结束进程
-stop 挂起进程
在这里插入图片描述

pkill

结束一组同名的进程
pkill [选项][信号]进程名
-t 按照终端号提出用户。

在这里插入图片描述

killAll

顾名思义杀死所有。加信号和kill通用;
killall [选项][信号]进程名
-i 交互式,询问是否要杀死某个进程。
-I 忽略进程名的大小写。

top

查看系统资源使用情况以及进程信息
在这里插入图片描述
在这里插入图片描述

pidstat

查看进程cpu的使用相关信息也可以使用pidstat -u
在这里插入图片描述
PID:进程ID
%usr:进程在用户空间占用cpu的百分比
%system:进程在内核空间占用cpu的百分比
%guest:进程在虚拟机占用cpu的百分比
%CPU:进程占用cpu的百分比
CPU:处理进程的cpu编号
Command:当前进程对应的命令

常用的参数:
• -u:默认的参数,显示各个进程的cpu使用统计
• -r:显示各个进程的内存使用统计
• -d:显示各个进程的IO使用情况
• -p:指定进程号
• -w:显示每个进程的上下文切换情况
• -t:显示选择任务的线程的统计信息外的额外信息
• -T { TASK | CHILD | ALL }
这个选项指定了pidstat监控的。TASK表示报告独立的task,CHILD关键字表示报告进程下所有线程统计信息。ALL表示报告独立的task和task下面的所有线程。
注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。
• -V:版本号
• -h:在一行上显示了所有活动,这样其他程序可以容易解析。
• -I:在SMP环境,表示任务的CPU使用率/内核数量
• -l:显示命令名和所有参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值