草庐IT

embedded-linux

全部标签

Linux之进程间通信(system V 共享内存)

目录一、共享内存1、基本原理2、共享内存的创建3、共享内存的释放4、共享内存的关联5、共享内存的去关联6、查看IPC资源二、完整通信代码三、共享内存的特点四、信号量1、相关概念2、信号量概念进程间通信的本质就是让不同的进程看到同一个资源。而前面我们讲到了进程通信的最基础,最传统的方法——管道。我们知道了,无论是匿名管道还是命名管道,它们让不同进程看到同样的资源的方法,就是通过访问同样的文件来看到同样的资源。进程间是相互独立的,因此进程的各种数据是存储在物理内存的不同区域的。那么,如果两个不同的进程能够访问到同一块内存空间,是不是就相当于看到了同样的资源。那么有没有这样的方法呢?答案是肯定的,s

八个DevOps中最常用的Linux命令

DevOps工程师经常使用Linux。掌握基本的Linux命令对于有效的系统管理非常必要。本文介绍在DevOps中使用Linux的基本命令。1列出文件和目录:'ls'命令可以使用ls命令在当前工作目录中列出文件和目录。图片正如所见,可以使用命令ls显示当前目录中的所有目录和文件。要显示有关文件的详细信息,请使用-l选项:图片使用ls-l时,会看到有关每个文件和目录的详细信息,如权限、所有者、组、大小和修改日期。2更改目录:cd命令cd命令用于在目录之间导航。要移动到特定目录,请使用:cd/path/to/directory要向上移动一级:cd..因此,cd命令(“更改目录”的缩写)是一个命令行

机械革命 蛟龙15K Linux 内置键盘失灵解决(ACPI)

TL;DRcat/sys/firmware/acpi/tables/DSDT>dsdt.datiasl-ddsdt.dat#将PS2K后出现的第一个ActiveLow改为ActiveHighsed-i'/PS2K/,/ActiveLow/s/ActiveLow/ActiveHigh/1'dsdt.dsl#将DefinitionBlock版本号加一perl-pe'if(/DefinitionBlock/){s/(0x[0-9a-fA-F]+)/sprintf("0x%X",hex($1)+1)/e}'dsdt.dsl>dsdt.dsliasldsdt.dslmkdir-pkernel/firmw

【Linux】linux配置静态IP、动态IP方法汇总

1、systemd-networkd1.1说明systemd-networkd是systemd的一部分,负责systemd生态中的网络配置部分(systemd-networkd.service,systemd-resolved.service)。使用systemd-networkd,你可以为网络设备配置基础的DHCP/静态IP网络等,还可以配置虚拟网络功能,例如网桥、隧道和VLAN等等。配置文件:/etc/systemd/network/xxx.network;当有多个文件时,systemd-networkd会按照字母顺序一个个加载并处理。1.2动态配置以配置eth0、eth1为例,创建文件:

ios - 错误 ITMS-90046 : Invalid Code Signing Entitlements for embedded frameworks from cocoapods

我的客户想在提交到AppStore时退出应用程序。他们不会给我他们的证书和配置文件。而且他们不会将我添加到他们的AppleDeveloperAccount开发团队中。他们尝试了多种签名方法和脚本。包括https://github.com/maciekish/iReSign和升级版https://github.com/0xMarK/iReSignERRORITMS-90046:"InvalidCodeSigningEntitlements.Yourapplicationbundle'ssignaturecontainscodesigningentitlementsthatarenotsu

Linux系统安全及应用

目录一、账号安全的基本措施1、将非登录用户的shell设为nologin2、锁定长期不使用的账号3、删除无用账号4、用chattr锁定重要账号文件(如passwd、shadow、fstab)二、密码安全控制1、对于新建用户可以修改/etc/login.defs文件里的内容来设置密码规则三、命令历史记录限制1、临时修改当前用户的历史命令条数2、进入配置文件永久修改历史命令条数3、退出当前终端将命令清除4、开机后当前终端将命令清除5、设置登录超时时间四、切换和限制用户1、su:切换用户五、PAM安全认证模块类型(module-type)Control:(控制位)3、shell模块4、使用PAM模块

Linux/Ubuntu下安装V2raya(最新)

安装v2rayA方法一:通过软件源安装添加公钥wget-qO-https://apt.v2raya.org/key/public-key.asc|sudotee/etc/apt/keyrings/v2raya.asc添加V2RayA软件源echo"deb[signed-by=/etc/apt/keyrings/v2raya.asc]https://apt.v2raya.org/v2rayamain"|sudotee/etc/apt/sources.list.d/v2raya.listsudoaptupdate安装V2RayAsudoaptinstallv2rayav2ray##也可以使用xra

Linux系统安装Python3环境(超详细)_linux 安装python3

文章目录前言1、默认情况下,Linux会自带安装Python,可以运行python--version命令查看2、查看Linux默认安装的Python位置3、安装python3(1)下载(2)文件上传(3)解压(4)准备编译环境总结报错解决问题一:问题二:零基础Python学习资源介绍👉Python学习路线汇总👈👉Python必备开发工具👈👉Python学习视频600合集👈👉实战案例👈👉100道Python练习题👈👉面试刷题👈资料领取前言本文基于如下Linux系统版本:1、默认情况下,Linux会自带安装Python,可以运行python--version命令查看如图:我们看到Linux中已经自

Linux内核中的TCP/IP协议栈源代码分析

目录背景知识-Linux源码简介TCP/IP协议栈相关问题inet_init是如何被调用的?从start_kernel到inet_init调用路径1.start_kernel():2.inet_init() :3.fs_initcall()跟踪分析TCP/IP协议栈如何将自己与上层套接口与下层数据链路层关联起来的?TCP的三次握手源代码跟踪分析,跟踪找出设置和发送SYN/ACK的位置,以及状态转换的位置send在TCP/IP协议栈中的执行路径recv在TCP/IP协议栈中的执行路径路由表的结构和初始化过程路由表数据结构:初始化过程:通过目的IP查询路由表的到下一跳的IP地址的过程ARP缓存的数

WSL:删除已安装好的Linux 发行版

如果您从Windows11或10上的备份中导入Linux发行版,您将找不到从“设置”应用、命令提示符或PowerShell中卸载它的选项。在这种情况下,您需要取消注册分发以将其删除。  要在从备份中导入(恢复)后删除Linux发行版,请使用以下步骤:  1、打开开始。  2、搜索命令提示符,右键单击顶部结果,然后选择以管理员身份运行选项。  3、键入以下命令以查看所有可用发行版的列表,然后按Enter:  wsl--列表  快速提示:您也可以这样编写命令:wsl-l.  4、键入以下命令将发行版设置为新的默认值,然后按Enter:  wsl--unregister发行版名称  在命令中,将DI