Serenitatis🌕
PowerShell 进程管理
在 PowerShell 中,进程管理是一个重要的任务,涉及到启动、停止、查询和管理进程。以下是一些常用的命令和技巧,帮助你在 PowerShell 中进行进程管理。 1 . 获取进程信息1.1 Get-ProcessGet-Process 命令用于获取当前系统上运行的进程信息。 基本用法: 1Get-Process 按名称过滤: 1Get-Process -Name notepad 按 ID 过滤: 1Get-Process -Id 1234 详细信息: 1Get-Process -Name notepad | Select-Object Id, Name, CPU, WS 2 . 启动进程2.1 Start-ProcessStart-Process 命令用于启动新的进程。 基本用法: 1Start-Process notepad.exe 带参数启动: 1Start-Process notepad.exe -ArgumentList "C:\example.txt" 后台启动: 1Start-Process notepad.exe -NoNewW ...
算法0.1排序算法
算法0.1排序算法数组排序是计算机科学中的一个基本问题,有许多经典的排序算法。每种算法都有其特点和适用场景。以下是一些常见的排序算法及其简要说明: 1 . 冒泡排序(Bubble Sort) 原理:重复遍历数组,比较相邻元素并交换位置,直到数组有序。 时间复杂度:平均和最坏情况为 (O(n^2)),最好情况为 (O(n))。 稳定性:稳定。 2 . 选择排序(Selection Sort) 原理:每次从未排序的部分选择最小(或最大)的元素,放到已排序部分的末尾。 时间复杂度:平均和最坏情况为 (O(n^2))。 稳定性:不稳定。 3 . 插入排序(Insertion Sort) 原理:将每个新元素插入到已排序部分的适当位置。 时间复杂度:平均和最坏情况为 (O(n^2)),最好情况为 (O(n))。 稳定性:稳定。 3.1 希尔排序(Shell Sort) 原理:先将数组分割成若干子序列,然后对子序列进行插入排序,使得子序列基本有序,然后逐渐缩小子序列的规模,直到整个数组有序。 时间复杂度:平均和最坏情况为 (O(n^2)),最好情况为 (O(n))。 4 . 快速排序(Qui ...
c基本常识
C语言程序的编译过程过程也即ESc iso 编译C语言程序的过程可以分为几个主要阶段,每个阶段都有特定的任务。以下是编译过程的详细说明: 1 . 预处理 (Preprocessing)预处理器 (cpp) 处理源代码中的预处理指令,如 #include, #define, #ifdef 等。预处理器的主要任务包括: 包含文件:将 #include 指令指定的头文件内容插入到源文件中。 宏替换:将 #define 定义的宏展开。 条件编译:根据 #ifdef, #ifndef, #else, #endif 等指令控制代码的编译。 预处理后的文件通常以 .i 扩展名保存。可以使用以下命令生成预处理后的文件:1gcc -E hello.c -o hello.i 2 . 编译 (Compilation)编译器将预处理后的文件转换成汇编语言代码。这一阶段的主要任务包括: 词法分析:将源代码分解成一个个的词法单元(token)。 语法分析:根据C语言的语法规则检查这些词法单元是否构成合法的语句和表达式。 语义分析:检查代码的逻辑意义,确保类型匹配等。 中间代码生成:生成中间表示(IR),这是 ...
常见的编码
常见的编码纠错编码(Error Correction Code, ECC)是一种在数据传输或存储过程中用来检测并纠正错误的技术。它通过添加冗余信息到原始数据中,使得接收端可以检测并纠正传输过程中可能发生的错误。以下是一些常见的纠错编码方法: 汉明码(Hamming Code):汉明码是最基本的线性纠错码之一,能够检测并纠正单比特错误。它的原理是通过增加校验位来实现错误检测与纠正。 编码过程: 首先,将数据分成若干个8位的块,每一块的前8位为数据位,最后一位为校验位。 然后,将每一块的前8位进行异或操作,得到校验位。 最后,将校验位附加到数据位后面,得到编码后的信息。 解码过程: 首先,将编码后的信息分成若干个8位的块,每一块的前8位为数据位,最后一位为校验位。 然后,将每一块的前8位进行异或操作,得到校验位。 最后,对每一块的校验位进行校验,如果校验失败,则说明该块数据有错误,需要进行纠错。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 ...
Linux SSH连接
Linux SSH连接1 Openssh组件OpenSSH 是一个非常流行的开源软件套件,用于提供安全的远程登录和其他网络服务。以下是关于 OpenSSH 的详细介绍: 1.1 什么是 OpenSSH?OpenSSH 是一个基于 SSH(Secure Shell)协议的开源实现,旨在提供安全的远程登录和文件传输功能。它通过加密技术保护数据在网络传输过程中的安全,防止数据被窃听、篡改或中间人攻击。 1.2 主要组件OpenSSH 包含以下几个主要组件: sshd (SSH Daemon): 功能:这是一个后台服务程序,负责处理来自客户端的连接请求,并提供安全的会话。 配置文件:/etc/ssh/sshd_config 启动和管理:123sudo systemctl start sshdsudo systemctl enable sshdsudo systemctl status sshd ssh (SSH Client): 功能:这是一个命令行工具,用于从本地机器安全地连接到远程主机。 常用选项: -i:指定身份文件(私钥) -p:指定远程主机的端口号 -l:指定登录用户名 ...
USB差分通信到串行端口通信的区别
USB差分通信到串行端口通信的区别USB(Universal Serial Bus)差分通信和串行端口通信(如 RS-232、RS-485 等)是两种不同的通信方式,它们在物理层、协议层和应用场景等方面存在显著区别。下面将详细介绍这两种通信方式的主要区别。 1 . 物理层1.1 USB 差分通信 信号线:USB 通信使用差分信号线,通常包括 D+ 和 D- 两条数据线。差分信号可以提高抗干扰能力,减少电磁干扰。 电源线:USB 连接器还包括 VBUS(5V 电源)和 GND(地线)。 连接器:USB 使用标准的连接器,如 Type-A、Type-B、Micro-USB、USB-C 等。 传输速率:USB 支持多种传输速率,包括低速(1.5 Mbps)、全速(12 Mbps)、高速(480 Mbps)、超高速(5 Gbps)和超高速+(10 Gbps)。 1.2 串行端口通信 信号线:串行端口通信通常使用单端信号线,如 RS-232 通常使用 RXD(接收数据)、TXD(发送数据)和 GND(地线)。RS-485 和 RS-422 使用差分信号线,如 A 和 B。 电源线:串行端口通信 ...
Linux 1.3 进程管理命令ps
Linux 1.3 进程管理命令psps(Process Status)是 Unix 和类 Unix 操作系统(如 Linux 和 macOS)中用于显示当前系统中运行的进程状态的命令。ps 命令非常强大,可以显示各种进程信息,如进程 ID、父进程 ID、用户、CPU 使用率、内存使用率等。 1 基本用法1.1 显示当前终端的进程1ps 这个命令会显示当前终端会话中的进程信息。 1.2 显示所有用户的进程1ps aux a:显示所有用户的进程。 u:以用户友好的格式显示。 x:显示没有控制终端的进程。 1.3 显示指定用户的进程1ps -u username 例如,显示 john 用户的进程: 1ps -u john 1.4 显示指定 PID 的进程1ps -p PID 例如,显示 PID 为 1234 的进程: 1ps -p 1234 2 常用选项 -A 或 -e:显示所有进程。 -f:显示完整格式的输出。 -F:显示更详细的完整格式。 -l:显示长格式的输出。 -T:显示所有线程。 -o:自定义输出格式。 -C:按命令名称过滤进程。 -g:按会话组或进程组过滤。 -t:按终端过 ...
MCU0.0如何看时钟树
时钟树(Clock Tree)时钟树(Clock Tree)是嵌入式系统中用于管理和分配时钟信号的重要组成部分。理解时钟树对于正确配置和优化系统的时钟架构至关重要。注意最终我们要得到的是RTC(实时时间)与SYSCLK(系统时间)。 1 . 查阅数据手册和参考手册首先,查阅所使用的微控制器或处理器的数据手册(Datasheet)和参考手册(Reference Manual)是了解时钟树结构的关键步骤。这些文档通常包含详细的时钟树图以及相关的寄存器配置信息。 2 . ESP32的时钟树简图我们先以ESP32的时钟树简图为例。 时钟树图通常是一个层次结构图,展示了从时钟源到各个系统模块的时钟分配路径。时钟树图通常包括以下几个部分: 时钟源:如外部晶振(HSE)、内部高频RC振荡器(HSI)、低频外部晶振(LSE)、内部低频RC振荡器(LSI)等,以上为较为通用的叫法。 ESP32-S3 的时钟主要来源于振荡器(oscillator,OSC)、 RC 振荡电路和 PLL 时钟生成电路。 高性能时钟:主要为 CPU 和数字外设提供工作时钟 PLL_CLK:320 MHz 或 480 ...
Python1.1Numpy中的轴概念
在 NumPy 中,“轴”(axis)是指数组中的维度。轴的概念对于理解和操作多维数组非常重要。下面详细介绍 NumPy 中轴的概念及其应用。 1 什么是轴?在 NumPy 数组中,每个维度都可以被称为一个轴。例如: 一维数组只有一个轴(axis=0)。 二维数组有两个轴(axis=0 和 axis=1)。 三维数组有三个轴(axis=0、axis=1 和 axis=2),依此类推。 2 轴的编号轴的编号从 0 开始,按升序排列。对于一个 n 维数组,其轴编号范围为 0 至 n-1。 3 具体示例3.1 一维数组对于一个一维数组 a: 1a = np.array([1, 2, 3]) 这里的唯一轴是 axis=0,即沿着这个轴可以进行操作。 3.2 二维数组对于一个二维数组 b: 12b = np.array([[1, 2, 3], [4, 5, 6]]) 这里的轴分别是 axis=0 和 axis=1: axis=0:表示行方向,即沿着这个轴可以对数组的行进行操作。 axis=1:表示列方向,即沿着这个轴可以对数组的列进行操作。 3.3 三维数组对于 ...
Python1.0Numpy包的使用
1 NumPy 简介NumPy 是 Python 中用于科学计算的一个基础包。它提供了一个高性能的多维数组对象,以及用于处理数组的工具。 1.1 导入 NumPy首先,我们需要导入 NumPy 包,并按照惯例将其重命名为 np 以便于使用。 1import numpy as np 1.2 创建数组NumPy 提供了多种创建数组的方法。 通过列表创建: 12n1 = np.array([1, 2, 3, 4])print("一维数组:", n1) 通过 range 创建: 12n2 = np.array(range(0, 8))# 创建一个包含0到7的整数的数组print("使用 range 创建的一维数组:", n2) 通过 arange 创建特定范围内的数组: 12arr2 = np.arange(1, 16, 2) # 创建一个包含1到15之间奇数的数组,步长为2print("奇数组:", arr2) 通过随机数生成器创建数组: 12fn1 = np.array([random.random() for _ in ...
0.1 QT部署
QT部署1 问题描述:我们开发QT程序一般都使用Qt Creator 4.12.2 (Community),当一般都会存在其生成的.exe文件无法直接运行的问题。这是因为依赖文件的路径错误或没有依赖文件导致的。 2 解决办法: 从QT\5.12.9\mingw73_64\bin目录获取相关并复制到exe文件所在文件夹。 利用windeployqt.exe打包对应依赖到对应文件夹要注意的是如果是64位系统就要选择64位的否则会出现如下这种情况。
与C相比Python的主要内容(快速了解pythonA)
与 C 相比 Python 的主要内容与 C 语言相比,Python 是一种更现代的高级编程语言,它具有以下主要特点: 易读性和简洁性:Python 代码通常比 C 更加简洁明了。Python 使用缩进来定义代码块,而 C 则使用花括号。Python 还支持动态类型,使得变量声明更加简单。 12345678910# Pythonx = 10y = 20while True: if x > y: print("x is greater than y") y += 1 else: print("y is greater than x") 1234567891011// Cint x = 10;int y = 20;while (1) { if (x > y) { printf("x is greater than y\n"); y++; } else { printf(& ...
avatar
🐟认真摸鱼中
Serenitatis🌕
Future is now 🍭🍭🍭
前往小窝
公告栏
小破站施工中
小站资讯
文章数目 :
83
已运行时间 :
本站总字数 :
16.4w
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换阅读模式关于博客美化设置切换全屏打印页面