快速上手Linux进程管理
一.理解进程和线程
1.1 什么是进程
它表示一个正在执行的程序实例。在操作系统中,进程是系统进行资源分配和调度的基本单位。每个进程都有自己独立的内存空间、代码、数据和系统资源,如打开的文件、使用的硬件设备等。
进程的主要特点包括:
- 独立性:每个进程都有自己独立的地址空间,互不影响。
- 并发性:多个进程可以在同一时间间隔内并发执行,提高资源利用率。
- 动态性:进程是动态产生、动态消亡的。
- 结构性:进程由程序、数据和进程控制块(PCB)组成。
在操作系统中,进程可以通过多种状态进行转换,如就绪、运行、阻塞等。进程的创建、调度、同步、通信和终止等都是由操作系统负责管理的。
1.2 什么是线程
1. 线程是进程中的一个执行单元,是 CPU 调度和分派的基本单位。
2. 一个进程可以包含多个线程,这些线程共享进程的内存空间和系统资源
3. 每个线程有自己独立的栈空间和程序计数器
4. 线程之间可以并发执行,提高程序的执行效率
5. 当进程是多任务,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程
二 进程状态
进程状态码 | 含义 | |
R(TAKS_RUNNING) | 可执行态(running,ready) | ![]() |
S(TASK_INTRRUPTABLE) | 可唤醒休眠 | ![]() |
D(TASK_UNINTRRUPTABLE) | 不可唤醒休眠 | |
T(TASK_STOP) | 暂停状态 | ![]() |
Z(TASK_zombie) | 僵死态 | ![]() |
三 进程查看的方法
3.1 在图形中查看进程
gnome-system-monitor | 打开图形中的进程管理工具 |
3.2 常用进程查看命令的使用
-
ps
ps | 进程查看 | ![]() |
ps a | 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的) | ![]() |
ps x | 与终端无关相关的进程 | ![]() |
ps u | 用户信息归类的查看方式 | ![]() |
ps f | 进程层级关系 | ![]() |
ps o comm nice pri pcpu ppid stat,user,group | 显示指定参数 | ![]() |
ps -e | 显示所有进程 | ![]() |
ps -f | 显示信息的完整格式 | ![]() |
ps -H | 显示进程的层级结构 | ![]() |
ps -o | 显示指定参数 | ![]() |
ps --sort= | 根据参数进行排序 | ![]() |
ps --sort=- | 根据参数进行倒序 | ![]() |
指定参数pid comm nice pri pcpu ppid stat user group:
-
PID:进程标识符(Process ID),是系统为每个进程分配的一个唯一编号,用于标识进程。
-
COMM:进程名称,通常是启动进程的命令名。
-
NICE:进程的优先级,值范围从-20到19,值越低表示优先级越高,进程获得的CPU时间越多。
-
PRI:进程的实时优先级,值越低表示优先级越高。
-
PCPU:进程占用的CPU百分比,表示进程消耗的CPU资源。
-
PPID:父进程标识符(Parent Process ID),表示创建该进程的父进程的PID。
-
STAT:进程状态,可以是以下状态之一或组合:
- R:运行中(Running)
- S:睡眠中(Sleeping)
- D:不可中断睡眠(Uninterruptible Sleep)
- T:已停止(Traced or Stopped)
- Z:僵尸进程(Zombie)
- W:分页(Paging)
- X:死进程(Dead)
- <: 高优先级(High Priority)
- N:低优先级(Low Priority)
- L:内存锁(Locked Memory)
- s:会话首进程(Session Leader)
- l:多线程(Multi-threaded)
- +:前台进程组(Foreground Process Group)
-
USER:运行进程的用户名。
-
GROUP:运行进程的用户组名。
拓展:
ps -t | 显示当前shell进程所使用的终端名称 | ![]() |
-
ps ax
ps ax | 显示 PID 进程id TTY 进程用到的终端 STAT 进程状态 TIME 进程占用cpu时长 COMMAND 进程名称 | ![]() |
混合参数:
-
ps aux
显示信息:
USER 进程所有人
PID 进程id
%CPU 进程使用cpu的用量
%MEM 进程所用到的内存用量
VSZ 进程使用的虚拟内存大小
RSS 进程常驻内存中的数据大小
TTY 进程用到的终端
STAT 进程状态
START 进程运行时长
TIME 进程占用cpu时长
COMMAND 进程名称
-
pgrep ——进程过滤
-u uid | 显示指定用户进程 | ![]() |
-U user | 显示指定用户进程 | ![]() |
-t tty | 显示指定终端进程 | ![]() |
-l | 显示进程PID和名称 可以是完整的进程名称或部分名称 | ![]() |
-a | 显示进程的 PID 和完整的命令行 | ![]() |
-P | 进程的子进程 | ![]() |
-
pidof ——查看正在运行的进程的pid
-
top ——动态进程查看
top命令的参数:
-d | 指定刷新频率(top -d 0.2) | ![]() |
-b | 以批次方式显示(直接将信息输出到标准输出) | ![]() |
-n | 指定显示的批次数量(命令只更新几次就退出) | ![]() |
-
top内部指令
P | cpu排序 | ![]() |
M | 内存排序 | ![]() |
T | 累计占用cpu时间排序 | ![]() |
l | 关闭/开启uptime信息 | ![]() |
t | 关闭/开启cpu&task | ![]() |
s | 指定刷新频率 | ![]() |
k | 终止进程 | ![]() |
u | 查看指定用户进程 | ![]() |
-
top中的内容显示信息
13:45:02 | 系统时间 |
up 6 min | 运行时长 |
2 users | 系统中有两个用户登陆 |
load average: 0.05, 0.26, 0.17 | 这三个数字分别表示过去1分钟、5分钟和15分钟内的系统平均负载
|
Tasks: | |
346 total | 任务总量 |
2 running | 正在运行 |
344 sleeping | 休眠数量 |
0 stopped | 被暂停数量 |
0 zombie | 僵尸进程数量 |
Cpu(s): | |
0.4 us | 用户空间 |
0.3 sy | 内核空间 |
0.0 ni | nice值调整时间 |
99.0 id | 空闲时间 |
0.0 wa | 等待io时间 |
0.2 hi | 处理硬件中断时间 |
0.1 si | 处理软件中断时间 |
0.0 st | 被偷走的时间(vm使用时间) |
MiB Mem : | |
5699.6 total | 总量 |
3855.7 free | 空闲 |
1383.9 used | 占用 |
718.9 buff/cache | 缓存 |
MiB Swap: | 交换分区用量 |
PID | 进程id |
USER | 进程所有者的用户名 |
PR | 优先级 |
NI | nice值。负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
SHR | 共享内存大小,单位kb |
S | 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
COMMAND | 命令名/命令行 |
四 进程的前后台调用
ctrl + z | 把占用shell的进程打入后台挂起 | ![]() |
bg | 把后台挂起的进程运行起来 | ![]() |
fg | 把后台进程调回前台 | ![]() |
命令& | 运行进程在后台 | ![]() |
jobs | 查看当前shell中在后台的所有工作 | ![]() |
五 进程的优先级
5.1 进程优先级定义
1. 进程优先级(Process Priority)是 Linux 内核用于决定 CPU 资源分配的关键指标
2. 优先级越高的进程越有可能被 CPU 优先调度执行
5.2 优先级种类
1. 静态优先级:由用户或管理员在进程启动时或运行中手动设置,范围为 -20 (最高优先级)到 19 (最低优先级),数值越小优先级越高。
2. 动态优先级:由内核根据进程的运行状态(如 CPU 使用时间、睡眠时长等)自动调整,以平衡系统资源分配。
5.3 静态优先级的调整方法
优先级范围值:0--139
内核自控优先级范围:0-99
用户可控优先级:100-139
nice -n -5 cat | 指定优先级打开进程 | ![]() |
renice -n 18 pid | 更改优先级 | ![]() |
- 进程状态字符详解
S | sleeping |
< | 优先级高 |
s | 顶级进程 |
T | stop |
N | 优先级低 |
R | running |
+ | 运行在前台 |
六 进程信号的使用
6.1 进程信号的定义
在 Linux 系统中,进程信号(Process Signal)是一种软件中断机制,用于在进程之间传递异步通知。它 为系统提供了一种处理异常情况、实现进程间通信的简单方式。信号可以由系统内核、其他进程或者用 户手动发送给目标进程,当进程接收到信号时,会根据信号的类型执行相应的操作,如终止进程、暂停进程、忽略信号等。
6.2 用户可控进程信号
信号名称 | 信号编号 | 默认行为 | 描述 | |
SIGHUP | 1 | 终止进程 | 终端断开连接时发送给与该终端关联的进程,常用于重新加载配置文件 | ![]() |
SIGINT | 2 | 终止进程 | 用户在终端按下 Ctrl+C 时发送给当前前台进程 | ![]() |
SIGQUIT | 3 | 终止进程并生成核心转储文件 | 用户在终端按下 Ctrl+\ 时发送给当前前台进程 | ![]() |
SIGTERM | 15 | 终止进程 | 通常用于请求进程正常终止,是系统默认的终止信号 | ![]() |
SIGKILL | 9 | 强制终止进程 | 不能被捕获、阻塞或忽略,用于强制终止无法正常响应的进程 | ![]() |
SIGCONT | 18 | 继续执行暂停的进程 | 用于恢复被暂停的进程 | ![]() |
SIGSTOP | 19 | 暂停进程 | 不能被捕获、阻塞或忽略,用于暂停进程的执行 | ![]() |
SIGSTOP | 20 | 暂停进程 | 可以被捕获、阻塞或忽略,用于暂停进程的执行 | ![]() |
-
信号特点
可捕获、阻塞和忽略:像 SIGHUP 、 SIGINT 、 SIGTERM 这类信号,进程可以编写相应的信号处理 函数来捕获它们,也可以选择阻塞(暂时不处理)或者忽略这些信号。
不可捕获、阻塞和忽略: SIGKILL 和 SIGSTOP 信号比较特殊,进程无法对其进行捕获、阻塞或忽 略操作,这保证了在必要时可以强制终止或暂停进程
6.3 如何使用进程信号
进程信号控制工具
kill 进程信号 pid | 处理精确指定的进程 | ![]() |
killall 进程信号 进程名字 | 按照进程名称批量处理进程 | ![]() |
pkill 进程信号 进程条件 | 按照条件处理进程 | ![]() |
七 systemd守护进程
7.1 守护进程是什么
1. 守护进程(Daemon)是一种在后台持续运行的特殊进程,它不与终端直接交互,通常在系统启动 时自动启动,并在系统关闭时才停止。
2. 守护进程的设计目的是为系统提供各种服务,例如网络服务(如 HTTP 服务器、FTP 服务器)、日 志服务、定时任务服务等。它们默默地在后台运行,为其他进程和用户提供支持,确保系统的正常 运行。
7.2 守护进程的特点
在后台运行:守护进程不会占用终端,不会受到用户登录或注销的影响,持续在后台执行任务。
生命周期长:一般从系统启动开始运行,直到系统关闭才停止,为系统提供长期稳定的服务。
无控制终端:守护进程没有控制终端,不会接收来自终端的输入,也不会将输出显示在终端上。
自成进程组和会话:守护进程通常会创建自己的进程组和会话,以确保独立于控制终端和其他进 程。
7.3 Systemd 守护进程
1. Systemd 是 Linux 系统中新一代的初始化系统(init system),它旨在替代传统的 SysVinit 和 Upstart 等初始化系统
2. Systemd 提供了一套强大的工具和机制,用于管理系统的启动、服务的管理、资源的分配等。它的 设计目标是提高系统的启动速度、简化服务管理、增强系统的可靠性和可维护性。
7.4 守护进程管理命令systemctl
systemctl命令的用法
start | 开启 | ![]() |
stop | 关闭 | ![]() |
status | 查看状态 | ![]() |
reload | 重新加载 | ![]() |
restart | 重新启动服务 | ![]() |
enable | 设定服务开机启动 | ![]() |
enable --now | 设定服务开机启动并当前开启服务 | ![]() |
disable | 设定服务开启不其动 | ![]() |
list-units | 查看系统所有服务当前状态 | ![]() |
list-unit-files | 查看服务开机状态 | ![]() |
list-dependencies | 列出服务依赖性 | ![]() |
mask | 冻结服务 | ![]() |
unmask | 解锁 | ![]() |
set-default | 设定系统运行模式 | |
multi-user.target | 无图形网络模式 | restart ↓ |
graphical.target | 有图形的网络模式 | restart ↓ |
get-default | 查看系统运行模式 | ![]() |
系统运行模式0-6 | 0 关机 1 单用户模式 2 无图形网络模式 3 无图形网络模式 4 无图形网络模式 5 图形网络模式 6 重启 | |
runlevel | 查看系统运行模式 | ![]() |
init | 更改系统运行模式并立即生效 | Enter ↓ |
相关文章:
快速上手Linux进程管理
一.理解进程和线程 1.1 什么是进程 它表示一个正在执行的程序实例。在操作系统中,进程是系统进行资源分配和调度的基本单位。每个进程都有自己独立的内存空间、代码、数据和系统资源,如打开的文件、使用的硬件设备等。 进程的主要特点包括:…...
pytorch框架实现cnn四种天气图片多分类问题-添加dropout和bn层
目录 1.导包 2.加载数据、拼接训练、测试文件夹 3. 查看当前目录下的所有文件名,以列表的形式输出 4.原数据集dataset中存在的数据的目标类别 5.创建train和test目录 及其需要分类的子文件夹 6.使用torchvision 的transforms进行数据预处理 6.1数据统一缩放resize、To…...
swift-11-init、deinit、可选链、协议、元类型
一、required 二、属性观察器 三、可失败初始化器 可以用init!定义隐式解包的可失败初始化器 可失败初始化器可以调用非可失败初始化器,非可失败初始化器调用可失败初始化器需要进行解包 如果初始化器调用一个可失败初始化器导致初始化失败 ,那么整个初…...
【力扣hot100题】(062)搜索插入位置
感觉自己对二分法还是没有很好掌握,主要在于边界问题,只会基本的搜索,如果要搜索比目标值大的第一个索引或者比目标值小的最后一个索引(或者换一些花里胡哨的题目)就完全不会了。 class Solution { public:int search…...
TCPIP详解 卷1协议 三 链路层
3.1——以太网和IEEE802局域网/城域网标准 以太网这个术语通常指一套标准,由DEC,Intel公司和Xerox公司在1980年首次发布,并在1982年加以修订。第一个常见格式的以太网,目前被称为10Mb/s以太网或共享以太网。它被IEEE采纳为802.3标…...
以太网安全
前言: 端口隔离可实现同一VLAN内端口之间的隔离。用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间的二层数据的隔离端口安全是一种在交换机接入层实施的安全机制,旨在通过控制端口的MAC地址学习行为,确保仅授权设备能…...
linux如何查看当前系统的资源占用情况
在 Linux 系统中,有多个命令可以查看当前系统的资源占用情况。以下是一些常用的命令及其说明: 1. 查看内存使用情况:free free -h-h 参数表示以人类可读的格式显示(如 MB, GB)。输出示例: to…...
人脸识别系统(人脸识别、前后端交互、Python项目)
基于Flask、Face_Recognition的人脸识别系统 项目介绍 基于flask、face_recognition的人脸识别系统。 本项目采用Face_Recognition库内置的ResNet-34预训练模型,其已对LFW公开数据集进行预训练而得到的模型。利用ResNet-34预训练模型,可使用少量已知人…...
2025 ArkTS语言开发入门之前言(二)
2025 ArkTS语言开发入门之前言(二) 前言 在上一节,咱们学习了如何下载并安装ArkTS的集成开发环境,这时候有的臭宝会发现,左边的这些叽里咕噜的是什么?下面,我来带着臭宝们来学习一下这些是什么…...
VLAN(虚拟局域网)
一、vlan概述 VLAN(virtual local area network)是一种通过逻辑方式划分网络的技术,允许将一个物理网络划分为多个独立的虚拟网络。每一个vlan是一个广播域,不同vlan之间的通信需要通过路由器或三层交换机 [!注意] vlan是交换机独有的技术,P…...
2025.4.6总结
今日记录:今天玩的有些累,先是去护肤店护理了脸部,然后去汉口江滩那看了看美景,吹吹江风。节假日去玩,光是挤一个半小时地铁都感觉累。还好上下班期间不用挤地铁,不然还真受不了。 假期小结 1.消费&#…...
【清明折柳】写在扬马三周目后
黄绿之间,方寸之外。 文章目录 楔子解耦到离散螃蟹与毒药文本的力量朝花夕拾后记 楔子 “——就像物理学家通过演绎与归纳将宏微世界的运转规律浓缩到数学公式中时,如今的人工智能也在试图量化整个人类文明。” “——只是,使用的是昂贵、笨…...
P1258 小车问题(二分)
题目描述 甲、乙两人同时从 A 地出发要尽快同时赶到 B 地。出发时 A 地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。 输入格式 仅一行&#x…...
一个基于ragflow的工业文档智能解析和问答系统
工业复杂文档解析系统 一个基于ragflow的工业文档智能解析和问答系统,支持多种文档格式的解析、知识库管理和智能问答功能。 系统功能 1. 文档管理 支持多种格式文档上传(PDF、Word、Excel、PPT、图片等)文档自动解析和分块处理实时处理进度显示文档解析结果预览批量文档…...
负指数二项式展开
转载:负指数二项式展开_二项式负数次幂的展开式-CSDN博客...
CentOS 7服务器上快速安装mamba函数库
本次预配置虚拟环境为cuda 11.8torch 2.2.2python 3.10 1. 创建conda虚拟环境:conda create -n mamba python3.10 激活环境:conda activate mamba 2. 安装Pytorch环境: conda install pytorch2.2.2 torchvision0.17.2 torchaudio2.2.2 py…...
ResNet改进(18):添加 CPCA通道先验卷积注意力机制
1. CPCA 模块 CPCA(Channel Prior Convolutional Attention)是一种结合通道先验信息的卷积注意力机制,旨在通过显式建模通道间关系来增强特征表示能力。 核心思想 CPCA的核心思想是将通道注意力机制与卷积操作相结合,同时引入通道先验知识,通过以下方式优化特征学习: 通…...
代码随想录算法训练营--打卡day6
一.四数相加 1.题目链接 454. 四数相加 II - 力扣(LeetCode) 2.思路 使用 HashSet 无法记录每种和出现的次数,当不同的 (nums1[i], nums2[j]) 组合得到相同的和时,会出现统计错误。这里应该使用 HashMap 来记录和以及其出现的…...
edge webview2 runtime跟Edge浏览器软件安装包双击无反应解决方法
软件安装报错问题有需要远程文章末尾获取联系方式,可以帮你远程处理各类安装报错。 一 、edge webview2 runtime跟Edge浏览器软件安装包双击无反应 在安装edge webview2 runtime跟Edge浏览器双击无反应没有出现安装界面。这个可能是 新版本的Edge WebView2 Runti…...
Xorg 内存上涨的根源探究
Xorg 内存上涨的根源探究 起因 在同一客户端进程内显示多股视频源,通过SDL创建窗口渲染,由于网络抖动视频源出现频繁断流现象导致,渲染任务反复重启,从而导致SDL渲染窗口反复创建释放,最后导致Xorg内存持续上涨 排查准备 Xorg是什么? Xorg(X.Org Server)是 X Wind…...
Neo4j基本命令使用
neo4j neo4j简介安装可视化管理后台登录 Cyphercreatematchmergecreate创建关系merge创建关系wheredelete sort命令字符串函数toUpper()函数toLower()函数substring()函数replace()函数 聚合函数count()函数max()函数min()函数sum()函数avg()函数索引index python 中使用neo4j …...
Python爬虫教程009:requests的基本使用以及get和post请求的使用
文章目录 5.1 基本使用5.2 get请求5.3 post请求5.1 基本使用 在 Python 爬虫开发中,requests 是一个非常流行、简单易用的 HTTP 库,用于发送网络请求。它可以让你方便地抓取网页内容、提交表单、上传文件等。 🔧安装: pip install requestsresponse的属性及类型: resp…...
SQL练习
目录 1.查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 2.查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩 3.查询在 SC 表存在成绩的学生信息 4.查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显…...
ubuntu20.04 复现fastlio2 并运行数据包
1.搭建文件目录和拷贝代码 mkdir -p Fastlio2/src cd Fastlio2/src git clone https://github.com/hku-mars/FAST_LIO.git git clone https://github.com/Livox-SDK/livox_ros_driver.git 2.到工作空间下编译 cd .. catkin_make 报错1: 解决方案1: …...
Windows安装 PHP 8 和mysql9,win下使用phpcustom安装php8.4.5和mysql9
百度搜索官网并下载phpcustom,然后启动环境,点击网站管理 里面就有php8最新版,可以点mysql设置切mysql9最新版,如果你用最新版无法使用,说明你的php程序不支持最新版的mysql MySQL 9.0 引入了一些新的 SQL 模式和语法变…...
【失配树 KMP+树上倍增】P5829失配树|省选-
本文涉及知识点 较难理解的字符串查找算法KMP 树上倍增 P5829 【模板】失配树 题目描述 给定一个字符串 s s s,定义它的 k k k 前缀 p r e k \mathit{pre}_k prek 为字符串 s 1 … k s_{1\dots k} s1…k, k k k 后缀 s u f k \mathit{suf}_…...
机器学习模型性能提升教程(特征工程和模型优化)
特征工程和模型优化是提升机器学习模型性能的核心步骤,以下从特征工程和模型优化两个维度,结合具体案例展开说明: 一、特征工程 特征工程的核心目标是从原始数据中提取更有价值的信息,常见方法包括特征选择、特征构造和特征转换。…...
跨域问题前端解决
由于浏览器的同源策略,前后端分离的项目,调试的时候总是会遇到跨域的问题,这里通过修改前端代码解决跨域问题。 首先先查看前端代码的根目录下,有没有vue.config.js文件, 若有,使用方法1,若没有此文件&…...
每天五分钟深度学习框架pytorch:搭建LSTM完成时间序列的预测
本文重点 前面一篇文章我们使用了pytorch搭建了循环神经网络LSTM然后完成了手写字体识别的任务,本文我们使用LSTM完成一个时间序列的任务。 数据集介绍 数据集如图所示,其中有一列是时间,然后还有一列是对应时间的起飞航班数,它可以看成是一个时间序列,通过前面t时间的起…...
Autosar应用层开发基础——Arxml制作
Davinci软件的主要作用 (1) AUTOSAR 软件架构设计 图形化建模:支持 SWC(Software Component)设计、接口定义、端口连接等。 分层架构管理:清晰划分 应用层(SWC) 和 基础软件层(BSW)…...
Word 页眉设置(不同章节不同页眉)
需求分析 要给文档设置页眉,但是要不同的页眉不同的页眉 问题点:一旦设置页眉 每个页眉都是一样的 现在要设置不一样的 设置了页眉但是整个文章的页眉都一样 问题解决 取消链接 前一节(不和前面的页眉同步更新) 小结 不同的…...
Redis的Java客户端的使用
Redis 的 Java 客户端使用 C 追求极致的性能, 而 Java没有这样的追求. Redis 在官网公开了所使用的应用层协议 (RESP). 任何一个第三方都可以通过这个协议, 来实现出一个和 Redis 服务器通信的客户端程序. 已经有很多大佬, 做好了库, 可以让我们直接调用 (不必关注 RESP 协议…...
双向链表示例
#include <stdio.h> #include <stdlib.h>// 定义双向链表节点结构体 typedef struct list {int data; // 数据部分struct list *next; // 指向下一个节点的指针struct list *prev; // 指向前一个节点的指针 } list_t;// 初始化链表,将链表的…...
Unity如何把一个物体下物体复制很多到别的物体下
C# 脚本批量复制 如果需批量复制到多个父物体下,推荐用脚本实现: using UnityEngine;public class CopyChildren : MonoBehaviour {// 原父物体(拖拽赋值)public Transform sourceParent;// 目标父物体数组(可拖拽多个…...
Java Properties 类详解
Java Properties 类详解 Properties 是 Java 中用于处理 键值对配置文件 的特殊类,继承自 Hashtable<Object,Object>。以下是其核心知识点: 1. 核心特性 特性说明存储格式纯文本文件(.properties),每行 keyval…...
进程内存分布--之理论知识
一个由C/C编译的程序占用的内存分为以下几个部分 : 1、栈区(stack):由编译器自动分配释放 ,存放函数调用函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap…...
TDengine 窗口预聚集
简介 在大数据量场景下,经常需要查询某段时间内的汇总结果,当历史数据变多或者时间范围变大时,查询时间也会相应增加。通过预聚集的方式可以将计算结果提前存储下来,后续查询可以直接读取聚集结果,而不需要扫描原始数…...
高精度加法与乘法
原理就是模拟我们列竖式的过程。 一、加法 加法很简单,我们这里不再赘述 string solve(string s, string t) {string ans;int tmp 0;int n s.size()-1;int m t.size()-1;while(n>0||m>0||tmp){if(n>0){tmp s[n--]-0;}if(m>0){tmp t[m--]-0;}ans…...
macOS可视化桌面配置docker加速器
macOS可视化桌面配置docker加速器 在镜像settings->docker Engine改为国内镜像修改为国内镜像重启docker(可视化界面启动或者使用命令行)使用命令重启可视化界面重启 在镜像settings->docker Engine改为国内镜像 修改为国内镜像 {"registry-mirrors": ["…...
不用训练,集成多个大模型产生更优秀的输出
论文标题 Collab: Controlled Decoding using Mixture of Agents for LLM Alignment 论文地址 https://arxiv.org/pdf/2503.21720 作者背景 JP摩根,马里兰大学帕克分校,普林斯顿大学 动机 大模型对齐(alignment)的主要目的…...
【大模型】DeepSeek + 蓝耕MaaS平台 + 海螺AI生成高质量视频操作详解
目录 一、前言 二、蓝耘智能云MaaS平台介绍 2.1 蓝耘智算平台是什么 2.2 平台优势 2.3 平台核心能力 三、海螺AI视频介绍 3.1 海螺AI视频是什么 3.2 海螺AI视频主要功能 3.3 海螺AI视频应用场景 3.4 海螺AI视频核心优势 3.5 项目git地址 四、蓝耘MaaS平台DeepSeek海…...
RobotFrameWork环境搭建及使用
RF环境搭建 首先安装python并且配置python环境变量pip install robotframeworkpip install robotframework-ride 生产桌面快捷方式 不行换豆瓣源检查一下pip list RF类库和扩展库 标准库 按F5快捷键查询,可以看到rf自带的库不需要额外安装这些标准库在python的 …...
Flutter之设计与主题字体
目录: 1、共享主题样式2、文字3、使用自定义字体4、以 package 的方式使用字体1. 将字体添加到 package2. 将 package 和字体添加到应用3. 使用字体 1、共享主题样式 MaterialApp(title: appName,theme: ThemeData(// Define the default brightness and colors.col…...
发生梯度消失, 梯度爆炸问题的原因,怎么解决?
目录 一、梯度消失的原因 二、梯度爆炸的原因 三、共同的结构性原因 四、解决办法 五、补充知识 一、梯度消失的原因 梯度消失指的是在反向传播过程中,梯度随着层数的增加指数级减小(趋近于0),导致浅层网络的权重几乎无法更新…...
脑电学习笔记
一,原理简介 使用eprime或者matlab给被试呈现刺激,并在某个时间发送Mark,脑电帽会同步采集被试的脑电信号,经放大器放大后,控制盒会把脑电信号和mark 信号同步到一起,通过usb线传入到采集系统(比…...
Java面试黄金宝典37
1. 转发与重定向的区别 定义 转发:服务器内部的一种请求处理方式,当客户端向服务器发送请求后,服务器将该请求转发到另一个资源(如 JSP、Servlet)进行处理,整个过程在服务器端完成,客户端并不知道请求被转发,且使用的是同一个请求对象和响应对象。重定向:服务器向客户…...
嵌入式rodata段
在嵌入式软件开发中,将数据放入只读数据段(.rodata)具有以下好处及典型应用示例: 好处 数据保护 .rodata段的内容在程序运行时不可修改,防止意外或恶意篡改,提升系统稳定性。 节省RAM资源 只读数据可直接…...
Python学习之numpy
Python学习之numpy 数组是Numpy库的核心数据结构。 NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。 Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarr…...
ext4磁盘扩容
ext4扩容示例 当前虚机中,逻辑卷名称data_lv,卷组名称data_vg,物理卷名称data_pv,他们的大小都为100G,由于磁盘空间不够使用,申请扩容硬盘至200G,以下操作将ext4的/data分区扩容至200G。 # 1.…...
PostgreSQL 16深度解析(从16.0-16.8)
作为开源关系型数据库的标杆,PostgreSQL持续通过版本迭代展现其技术生命力。本文将以技术视角深度剖析PostgreSQL 16系列(16.0至16.8)的核心演进,重点解读新增功能、性能优化及实践价值,为数据库管理者与开发者提供升级…...