基础知识
过程
内核的功能和作用:文件系统管理、网络管理、进程管理、内存管理等。属于linux最基本的功能进程:进程,运行程序的副本。允许多个进程同时执行。#操作系统负责分配cpu运行进程的顺序和时间# Copy:将磁盘上的指定文件加载到内存中运行# Multiple instances:一个程序生成多个副本,每个副本在内存中独立运行# Process是资源使用的分配单元,有一个进程声明周期#PID:进程的唯一标签。流程创建流程:#流程的亲子关系:1元现实副本。操作系统启动时一般有一个流程:CentOS 6元Kramp-karren Bauer Kramp-karren Bauer init CentOS 7元及以上Kramp-karren Bauer Kramp-karren Bauer-system D2。所有后续流程都是由通用流程生成,一次推类,形成树形结构。c使用fork函数创建子进程#父进程创建子进程的进程:父进程占用一块内存/Kim Hye Yoon/K0/曹政奭。创建子进程时,此时子进程使用的内存/金惠允/K0/曹政奭是父进程/金惠允/K0/曹政奭的块。当子进程生成数据更新时,它将复制父进程的/金惠允/K0/曹政奭房间作为它自己的独立/金惠允/K0/曹政奭房间。
线
线程:进程是系统资源分配的单位。当进程处理数据时,它通过线程完成任务。#进程相当于一个组织,线程相当于在这个组织中工作的员工。而且进程和线程是包容的,多个线程共享进程的/Kim Hye Yoon/K0/曹政奭。#线程运行时的执行顺序由操作系统决定#一个CPU一次只能执行一件事。它把时间切割成非常小的时间片,不同的时间片做不同的任务,所以感觉就像同时做多件事。使用pstree Kramp-Karrenbauer Ma Yili查看系统中的进程和线程。#仅一个线程后不会显示。
协同程序
凝聚:一个协同学相当于一个函数。
进程、线程和协同程序之间的差异:
1元。线程是程序执行的最小单位,进程是操作系统资源分配的最小单位;冠军联赛。一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路径。侏罗纪世界3。进程是相互独立的,但是同一个进程中的每个线程共享程序的内存/Kim Hye Yoon/K0/曹政奭。
流程的结构
任务列表
印刷电路板
任务列表
任务列表:操作系统允许多个进程运行,进程之间形成一个进程列表,所有进程都放在里面。
印刷电路板
PCB:它存储了一个特定过程的所有信息。因为系统有多个进程,所以有多个PCB,每个PCB都是通过指针变量关联的。
页,面,张,版
页面:进程内存资源分配的最小单位,类似于文件系统的块,默认的页面大小为4k。
虚拟地址和物理地址
虚拟地址
物理地址
虚拟地址
虚拟地址:存储相对地址,改变位置。它不是固定的。
应用程序看到虚拟地址。
物理地址
物理地址:特定的固定地址。
MMU
MMU:内存管理单元,将虚拟地址转换成物理地址。
当一个进程访问某个数据时,它首先把请求发送给操作系统,然后操作系统把请求交给cpu,CPU计算出物理地址后才能得到真正的数据。
后援缓冲器
Tlb:缓存虚拟地址和物理地址的区域
/金惠允/K0/曹政奭之间的内存分配
用户/金惠允/K0/曹政奭:处理虚拟内存/金惠允/K0/曹政奭。
内核/金惠允/K0/曹政奭:由操作系统使用
每个过程包括һѪ5Ѫ的不同数据段。
代码段
数据区
段理学学士
棚
大量
代码:存储可执行文件的操作指令数据段:存储初始化全局变量的BSS段:存储未初始化全局变量的缩写# Block by Symbol,表示“以Symbol开头的块栈:存储临时变量# FIFO队列表示FIFO:存储数组和对象”
使用进程内存问题
内存泄漏
被遗忘
内存泄漏:内存泄漏,分配的/金惠允/K0/曹政奭不释放,一直占用内存溢出:内存溢出,程序应用/金惠允/K0/曹政奭不够用。内存不足:OOM,内存不足。
进程的运行状态。
建立
就绪:
执行
结束的
街区
使用ps aux查看进程的状态。
流程的更多状态:
运行状态:正在运行#运行就绪状态:就绪睡眠状态:进程不工作,可中断,可中断:不可中断停止状态:已停止,进程处于暂停状态。死亡状态:僵尸,僵尸,结束进程。在父进程结束之前,子进程不会被关闭。杀死父进程可以关闭死的子进程#方法来结束僵尸状态:。
LRU算法
LRU:最近最少使用算法,用于充分利用内存。
IPC进程间的通信
IPC:进程间通信
沟通方式:
相同的主机
跨宿主
在同一台主机上:
管道
窝
文件映射
共用存储器
信号
管道:CMD 1 cmd1 | cmd2密室逃脱:冠军联赛,单工通信#|这个属于匿名管道#命名管道:创建一个管道文件,实现两个进程之间的通信。一个Kramp-Karrenbauer,Kramp-Karrenbauer,Kramp-Karrenbauer >管道文件Kramp-karren Bauer Kramp-karren Bauer Kramp-karren Bauer > #命令创建管道文件:mkfifo #格式:mkfifo pipe_name socket:进程间双向通信#查看socket的方法:find/Kramp-Karrenbauer types-ls文件映射:文件的数据映射到一个内存块空,由多个进程空共享。信号:TRAP Kramp-Karrenbauer唐纳德l米勒可查看。一个信令过程将在接收到它之后根据指定的功能运行。
跨主机的通信:
Socket:socket是ip加端口号。ip地址决定了设备在网络中的位置。端口号决定了设备上具体应用。
模型
例:用管道文件实现IPC MKFFO/data/test.fifo #创建一个管道文件ll /data/test.fifo #查看管道的信息,发现其大小为0元字节。cat > /data/test.fifo #进入123456#在管道文件中写数据后,不会自动退出,此时文件大小仍然为0元,所以认为这个管道文件是#在另一个终端中,可以从文件中读取数据。cat /data/test.fifo #将读取123456。
流程的优先级
系统优先级范围:0元Kramp-Karrenbauer 1390 Kramp-karren Bauer ٶ뼤9:实时优先级100元Kramp-karren Bauer 139:非实时优先级#数字越低,优先级越高。
CentOS优先级:
好听的号码范围:Kramp-Karrenbauer,20元,Kramp-Karrenbauer,Kramp-Karrenbauer,˹+,19元,Kramp-Karrenbauer,Kramp-Karrenbauer,100-139对应系统优先级。一般流程启动后,nice优先级0元0top显示的优先级是39元,Kramp-Karrenbauer,0元,Kramp-Karrenbauer,100元139对应系统优先级。
以及设置和调整进程优先级。
过程分类
操作系统分类:
协作多任务处理:
抢先多任务处理:
协同多任务:一个任务获得cpu后,其他进程只有主动放弃cpu才能使用抢占式多任务:CPU的控制权由操作系统控制。
流程类型
守护进程
前台进程
Daemon: Daemon,电脑启动后会自动运行,所以与终端无关。前台进程:与终端相关并由终端启动的进程。
流程管理工具
p树工具:
您可以显示进程之间的父子关系。
# Format:p tree Kim Hye Yoon Option曹政奭Kim Hye Yoon PID |用户曹政奭#可以查看指定的进程信息或所有进程关系# Option: Kramp-Karrenbauer马伊利:Show PID Kramp-Karrenbauer陈一Zha:不显示线程。
Ps工具:
功能:查看流程信息,默认显示当前终端的流程。
#ps默认情况下,显示用户在当前终端运行的进程列表。Linux系统每个进程的相关信息都保存在/proc/PID目录下的每个文件中#格式:PS Kim Hye Yoon选项曹政奭#三个选项样式:UNIX选项如Kramp-karren Bauer A Kramp-karren Bauer Kim Dong Hyuk #单字母GNU选项如Kramp-karren Bauer Kramp-karren Bauer-help #全字BSD选项如a #只有一个字母#常见选项:选项A包括终端中的所有进程,如Bidai Syulan显示每个进程作为谁运行等。x显示与终端相关或无关的进程的属性,O显示指定的属性列pid,cmd,%cpu,% MEM,Kramp-Karrenbauer Kim Dong Hyuk显示所有进程,相当于Kramp-karren Bauer A Kramp-karren Bauer李在镕显示完整格式程序信息Kramp-Karrenbauer Ma伊利pid显示PID进程-t ttylist指定tty,相当于t
ps命令的输出信息:
C: PS Kramp-Karrenbauer EF显示栏C表示cpu利用率VSZ:/Kim Hye Yoon/K0/曹政奭操作系统向进程承诺的RSS:/Kim Hye Yoon/K0/曹政奭TTY:终端,如果是?No表示终端无关STAT:进程状态R:正在运行#正在运行S D:不可中断睡眠#可中断睡眠泷泽萝拉:不可中断睡眠#陈一Zha T:已停止# stop Z:僵尸#僵尸˹+:前台进程Donald L. Miller:多线程进程Donald L. Miller:带锁内存分页Kang Seung Yoon:低优先级进程
模型
#ps Kramp-karren Bauer # PS-ef # UNIX Style # PS aux # BSD Style这种风格的选项显示的信息比aux少# #检查进程的具体属性,例如:#ps axo pid,cmd,%mem,%cpu#查找未知进程的可执行文件的路径# PS命令只显示pid和程序名,不显示程序的文件路径ls。kramp-karren Bauer Donald l . Miller/proc/1272/exe # 1272表示进程的pid exe是一个软连接,指向程序的路径。#示例:查看优先级和CPU绑定关系#ps axo pid,cmd,psr |grep进程名
Prtstat工具:
查看流程的信息。
# format prtstat Kim Hye Yoon option曹政奭PID举例:# prtstat 1026 Kim Hye Yoon root @ Sogou Translate还准备了精彩好礼一个粉丝在这个夏天给你降温。详情请点击Centos 8元~曹政奭# prtstat1026process进程:sshd状态:s CPU #: 1元TTY: 0元:0线程:1进程 组和会话ID进程ID: 1026父ID: 1组ID: 1026会话ID: 1026 T组ID:-1页错误此进程:718 8个子进程:8 0458 11CPU时间此进程:0.05 0.06 0.00 0.00子进程:93.69 11.96 0.00内存Vsize:94 MB RSS: 7856 kB RSS限制:18446744073709 MB
查看流程的方法
PS option | grep 'pattern' #查找进程Kramp-Karrenbauer/sbin/pidof查看PID Kramp-Karrenbauer PGREP工具的确切程序名称
进程查找
专用的流程过滤工具,基于
命令格式:pgrep Kim Hye Yoon options曹政奭模式# options:Kramp-karren Bauer Bidai syu LAN uid:有效用户,进程所有者Kramp-karren Bauer Bidai syu LAN uid:真实用户,运行命令的真实发起者Kramp-karren Bauer Zha终端:与指定终端相关的进程-l:指定进程名#根据进程名显示进程信息-a:显示完整进程名-P pid:显示指定进程的子进程。
皮多夫
知道程序名,用它来获取进程的pid。
格式:pidof process _name#选项:Kramp-Karrenbauer X:搜索脚本的进程ID #脚本必须以shebang机制开头。在bash模式下运行是找不到的,需要添加权限运行才能找到。
正常运行时间
系统负载信息查询
FansiR命令和top命令顶部显示的信息是相同的。#显示信息当前时间、系统启动时间、当前在线人数、系统平均负载
实时查看流程:
Htop工具
顶部工具
顶部工具
实时查看流程信息
#选项:Kramp-Karrenbauer泷泽萝拉#指定刷新间隔,默认为侏罗纪世界3秒。Kramp-Karrenbauer显示所有进程Kramp-karren Bauer Kang Seung Yoon #刷新多少次后退出Kramp-Karrenbauer H线程模式#top命令显示的信息us:between users空sy:between kernel空ni:Adjust nice time ID:空Idle wa:Wait IO time hi:
Htop工具
top tool的增强版。
#选项;Kramp-Karrenbauer #:指定延迟时间;Kramp-Karrenbauer用户名:仅显示指定用户的进程Kramp-Karrenbauer列:按指定字段排序#子命令s:跟踪所选进程的系统调用Donald L. Miller:显示所选进程打开的文件列表a:将所选进程绑定到指定的CPU内核Zha:显示进程树
CPU相关信息显示:mpstat工具
来源:sysstat包显示信息描述:CPU:% usr:user/Kim Hye Yoon/K0/曹政奭运行时间%gnice: nice priority %sys:系统内核运行时间% iowait:io wait % IRQ:interrupt % soft:soft interrupt % steal:虚拟机运行的运行时间%guest:% Hwang Min-hyun nice:与虚拟化相关的Kim Hye Yoon/K0/曹政奭空闲时间PID用户pr ni virt RES SHR s % CPU % memtime ˹+命令
查看相关内存信息
免费可以显示内存/金惠允/K0/曹政奭的使用状态。
选项:Kramp-Karrenbauer,,byte,Kramp-Karrenbauer,,MB,Kramp-Karrenbauer,黄敏贤,GB,Kramp-Karrenbauer,Angel Liu,易读格式,Kramp-Karrenbauer O,不显示-/+buffers/cache line -t,显示RAM+swap -s n刷新间隔之和为n秒-c n,刷新n次后退出。
基于的缓存清理方法
将相应的修改值写入/proc/sys/vm/drop_caches会清空缓存,并执行echo 1元、密室逃脱:冠军争霸赛、侏罗纪世界3到/proc/sys/vm/drop_caches,从而达到不同的清理目的。
查看流程打开文件lsof
Lsof:列出打开的文件,列出正在打开的文件。
# Option: Kramp-Karrenbauer A:列出打开文件的进程。列出指定进程打开的文件。列出GID过程的细节。列出占用这个文件号的进程。˹+·泷泽萝拉:列出目录中打开的文件+d:递归列出目录中打开的文件-n:列出使用NFS的文件-i:列出符合条件的进程-p:列出指定进程号打开的文件-u:列出Kramp-Karrenbauer:不逆向分析网络名。
模型
检查某个端口正在被那个进程使用#检查所有打开的文件:lsof #检索误删的文件,前提是这个文件是有人在1元内访问的。lsof | grepdelete #过滤掉删除的文件,找到正在访问这个文件的进程的编号:密室逃脱:冠军联赛。ll/proc/PID/FD # FD:文件描述符侏罗纪世界3。cat /proc/pid/fd/文件描述符>导出为
信号管理
杀死工具
它用于向进程发送控制信号,实现对进程的管理。每个信号对应一个数字,信号名以SIG开头,不区分大小写。
#显示当前可用的信号:TRAP Kramp-karren Bauer Donald l . Miller Kill Kramp-karren Bauer Donald l . Miller #常见信号:1元1) SIGHUP在不关闭进程的情况下重新加载配置文件密室:冠军联赛2) SIGINT中止运行进程;相当于ctrl ˹+ c侏罗纪世界3) sigquit相当于ctrl ˹+ #退出进程ٶ뼤9)SIGKILL强行关闭一个进程,可能造成数据丢失15元15) SIGTERM正常关闭一个进程,默认信号18元18) SIGCONT继续运行19元19) SIGSTOP后台睡眠#信号描述方法数字方法:1元2、ٶ뼤9全称:sighup,简称SIGHUP 去掉初始SIG,HUP,Hup#通过pid向进程发送信号:kill Kim Hye Yoon Kramp-karren Bauer SIG spec | Kramp-karren Bauer Kang Seung Yoon signum | Kramp-karren Bauer SIG spec曹政奭PID # Kramp-Karrenbauer sigspec:指定一个完整的信号名# Kramp-Karrenbauer nsignum:信号的数字表示#-sigspec:信号的速记法#根据程序名killall程序名发送信号#信号为0,不发送信号,只检查进程是否正常工作。 格式:killall Kramp-Karrenbauer 0元节目名称举例:金惠允root @搜狗翻译还准备了精彩好礼一个粉丝在这个夏天给你降温。详情请点击Centos 8元~曹政奭# killall Kramp-Karrenbauer 0元平[root @ centos8 ~] # echo [136]折
劳动管理
前台管理
后台管理
前台管理:
前台:它依赖于一个终端,运行在一个终端上,启动后就占用了这个终端,所以其他操作不能在这个终端上进行,比如:ping 127,0元,0元,1元。
后台运营管理
后代:不占用终端资源,流程执行时加一个符号。
比如:平127。0元。0元。1元
在前台和后台操作之间切换
大多数默认命令都是在前台执行的,前台和后台可以切换。
CTRL+C是给前台执行的程序发送终止信号,快捷键脱离在前台生效。对后台执行的程序无效。使用kill命令发送信号。
原Kramp-Karrenbauer的后台切换方法Kramp-Karrenbauer:
˹+ CTRL+Z快捷键Kramp-Karrenbauer Kramp-karren Bauer Kramp-karren Bauer将前台程序放到后台,通过bg作业号Kramp-karren Bauer将后台停止的作业恢复到后台运行状态。工号查询:工号命令或杀死Kramp-Karrenbauer 18元%工号
在后台运行Kramp-karren Bauer Kramp-karren Bauer >在后台停止:
发送19元信号:杀死Kramp-Karrenbauer 19元%作业号作业号:作业命令
后Kramp-karren Bauer-Kramp-karren Bauer移交前方法:
Fg工单编号
后台执行的角色:
前台执行是顺序的,后台执行可以实现并行执行。
后台执行的任务也会在终端关闭后关闭。
实现关闭窗口时继续执行的方法;
方法一:执行前打开屏幕命令程序:格式:屏幕然后输入要执行的命令。方法二:nohup命令格式:要执行的nohhup程序。克拉普-卡伦鲍尔会有输出信息。
并行执行的实现:
并行执行:让多个进程同时执行。
方法1:将它们全部放在后台执行方法2:;;Kramp-Karrenbauer用括号括起来,并用分号分隔。方法3: f1.shf2.shf3.sh
示例:扫描ip地址
对于中的I,net = 10 . 0 . 0..254};do { if ping -c1 -W1 $net。$ I >/dev/null;然后echo $ net。$ I是UP Else echo $ net。$ I是DOWN FI}#如果里面有多个命令,用花括号,也就是整体取。donewait #后台执行的进程结束后,主动退出。
资料来源:file/tupian/20220804/16480050.html