E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
IT系统编程
Linux
系统编程
系列之进程间通信-IPC对象
一、什么是IPC对象消息队列,共享内存和信号量组被称为IPC对象。各种不同的IPC其实是在不同时期逐步引入的,他们是在UNIX伯克利版本system-V中引入的三种通信方式。二、IPC对象特性1、在系统中使用键值(KEY)来唯一确定,类似文件系统中的文件路径。2、当某个进程创建(或打开)一个IPC对象时,将会获得一个整形ID,类似文件描述符。3、IPC对象属于系统,而不是进程,因此在没有明确删除操
Great Macro
·
2023-10-01 00:15
C语言程序设计
Linux
c语言
linux
Linux
系统编程
系列之进程间通信-共享内存
一、什么是共享内存共享内存是system-V三种IPC对象之一,是进程间通信的一种方式。二、共享内存的特性通过不同进程共享一段相同的内存(物理内存)来达到通信的目的,由于SHM对象不再交由内核托管,因此共享内存SHM对象是众多IPC方式最高效的一种方式,但也因为这个原因,SHM一般不能单独使用,而需要配合诸如互斥锁、信号量等协同机制使用。三、共享内存的使用场景1、进程间数据共享比如单机上需要启动多
Great Macro
·
2023-10-01 00:45
Linux
C语言程序设计
c语言
linux
Linux
系统编程
系列之进程间通信-消息队列
一、什么是消息队列消息队列是system-V三种IPC对象之一,是进程间通信的一种方式。二、消息队列的特性允许发送的数据携带类型(指定发送给谁),具有相同类型的数据在消息队列内部排队,读取的时候也要指定类型,然后依次读出数据。可以理解为消息队列就是一个多管道集合。三、消息使用场景由于每个消息都携带有类型,相同的类型自成一队,因此读取方向可以根据类型来挑选不同的队列,所以说MSG适用于“多对一”的场
Great Macro
·
2023-10-01 00:45
Linux
C语言程序设计
c语言
linux
PostgreSQL 11 - with_llvm
在2016年,俄罗斯国家科学院
系统编程
研究所(InstituteforSystemProgrammingo
hemny
·
2023-09-30 22:38
Linux
系统编程
(六):线程
参考引用UNIX环境高级编程(第3版)黑马程序员-Linux
系统编程
1.线程概念1.1什么是线程线程LWP:lightweightprocess轻量级的进程,本质仍是进程(在Linux环境下)有独立的PCB
Robot_Yue
·
2023-09-30 21:28
Linux系统编程
linux
学习
笔记
服务器
机器人
stm32
单片机
Linux
系统编程
(文章链接汇总)
参考引用UNIX环境高级编程(第3版)黑马程序员-Linux
系统编程
Linux
系统编程
(一):文件I/OLinux
系统编程
(二):文件和目录Linux
系统编程
(三):进程Linux
系统编程
(四):进程间通信
Robot_Yue
·
2023-09-30 21:28
Linux系统编程
linux
运维
服务器
学习
笔记
c++
Linux
系统编程
(七):线程同步
参考引用UNIX环境高级编程(第3版)黑马程序员-Linux
系统编程
1.同步概念所谓同步,即同时起步、协调一致。
Robot_Yue
·
2023-09-30 21:57
Linux系统编程
linux
数据库
服务器
c++
学习
stm32
单片机
Linux
系统编程
(1)
父子进程通过两个管道进行通信。伪代码#includevoidclient(int,int),server(int,int);intmain(intargc,char**argv){intpipe1[2],pipe2[2];pid_tchildpid;Pipe(pipe1);Pipe(pipe2);if((childpid==Fork())==0){//childClose(pipe1[1]);Cl
半路程序员
·
2023-09-30 16:27
unix
php
服务器
Linux调试器------gdb的使用【Linux
系统编程
】
目录背景:指令:背景:(1)debug和release:debug可以调试(形成可执行程序时会有调试信息),release不可以。Linux下默认是release版本。如果要以debug版本发布,带-g选项。指令:(1)进入调试:gdb可执行程序名(2)退出调试:q(3)怎么看到代码:list(l)行数也可以跟函数名:(4)打断点:b行号(如果是多文件,b文件名行号)查看断点信息:infob第一行
勤奋的懒羊羊~
·
2023-09-29 18:08
linux
运维
服务器
make/Makefile【Linux
系统编程
】
一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作makefile带来的好处就是——自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一
勤奋的懒羊羊~
·
2023-09-29 18:38
Linux系统编程
linux
运维
服务器
Linux小程序——进度条【Linux
系统编程
】
回车换行:回车(\r)是回到当前光标所在行的最开始,换行(\n)是换到下一行,回车换行就是到下一行的最开始。缓冲区:先看第一种:helloworld后面有反斜杠n,那么我们看到的现象是先打印再停两秒。再看第二种:没有\n,此时,我们观察到的现象是先停2秒,才显示helloworld,那么,helloworld去哪里了呢,答案是:缓冲区里C程序默认打开3个输入输出流,分别是标准输入,标准输出(显示器
勤奋的懒羊羊~
·
2023-09-29 18:38
Linux系统编程
linux
linux
系统编程
之进程间通信(IPC)及相关API
文章目录无名管道命名管道FIFO消息队列MessageQueue共享存储SharedMemory信号量Semaphore信号(sinal)无名管道无名管道pipe是一种半双工的通信方式,不会创建一个实际的文件,相当于只是运行时在linux内核下有一个缓冲区来进行读写数据,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。#includeintpipe(int
@默默学习
·
2023-09-29 10:00
LINUX
c语言
linux
vim
多进程
QT基础入门——认识与创建QT(一)
前言:前面学了Linux的基础命令、
系统编程
、网络编程,对LInux的使用也有了一个简单的了解与认识,之后的学习就要用到imx6ull_pro这款开发板进行学习了,所以在使用前还是决定把QT的基础知识学习一下
我想学LINUX
·
2023-09-29 09:24
qt
什么是QT
QT的创建
QT的优点
QT的安装
开发语言
C代码练手记录之五
Linux
系统编程
中的信号有几个属性,信号的类型,信号是否可被打断,信号处理函数处理完后的动作,系统提供了对这几个方面进行控制的几个函数和对应的结构体,结构体数据用于填充参数,函数用于设置到系统中生效配置
icquu
·
2023-09-27 13:28
C基本代码学习
编程语言
人工智能
数据结构
自动化测试框架:Rust实现
Rust是一门以安全、并发和性能著称的
系统编程
语言。它提供了许多功能强大的工具和库,可以用于构建高效、可靠的软件系统。在自动化测试领域,Rust也有一些优秀的框架和库可供选择。在Rust中,一个广
QijPostscript
·
2023-09-26 10:56
rust
rust
开发语言
后端
Linux
系统编程
(四):进程间通信
参考引用UNIX环境高级编程(第3版)黑马程序员-Linux
系统编程
1.引言Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。
Robot_Yue
·
2023-09-26 03:46
Linux系统编程
linux
数据库
学习
运维
c语言
笔记
stm32
Linux
系统编程
(五):信号
参考引用UNIX环境高级编程(第3版)黑马程序员-Linux
系统编程
1.信号基础理论1.1概念和机制概念信号在生活中随处可见,如:古代战争中摔杯为号、现代战争中的信号弹、体育比赛中使用的信号枪他们都有共性
Robot_Yue
·
2023-09-26 03:45
Linux系统编程
linux
运维
服务器
开发语言
学习
笔记
stm32
【Linux】
系统编程
简单线程池(C++)
目录【1】线程池概念【1.1】线程池【1.2】线程池的应用场景【1.3】线程池的种类【1.4】线程池示例【2】线程池代码【1】线程池概念【1.1】线程池一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应
傻响
·
2023-09-26 01:24
Linux
linux
【Linux】
系统编程
线程读写者模式(C++)
目录一、读写锁二、读写锁接口【2.1】设置读写优先【2.2】初始化【2.3】销毁【2.4】加读锁【2.5】加写锁【2.6】解锁三、读写锁实例一、读写锁在编写多线程的时候,有一种情况是十分常见的。那就是,有些公共数据修改的机会比较少。相比较改写,它们读的机会反而高的多。通常而言,在读的过程中,往往伴随着查找的操作,中间耗时很长。给这种代码段加锁,会极大地降低我们程序的效率。那么有没有一种方法,可以专
傻响
·
2023-09-25 12:15
Linux
linux
【Linux】
系统编程
线程池单例模式(C++)
目录【1】什么是单例模式【2】什么是设计模式【3】单例模式的特点【4】饿汉实现方式和懒汉实现方式【5】饿汉方式实现单例模式【6】懒汉方式实现单例模式【7】将线程池改为单例模式【1】什么是单例模式单例模式是一种"经典的,常用的,常考的"设计模式。【2】什么是设计模式IT行业这么火,涌入的人很多.俗话说林子大了啥鸟都有.大佬和菜鸡们两极分化的越来越严重.为了让菜鸡们不太拖大佬的后腿,于是大佬们针对一些
傻响
·
2023-09-25 12:44
Linux
linux
初识Linux
系统编程
Linux
系统编程
最近一直在看关于Linux
系统编程
方面的知识,让我清楚的明白,作为一个编程人员学习了解Linux
系统编程
还是很有必要的。
空 白
·
2023-09-25 09:57
linux
ubuntu
Linux
系统编程
——信号
在学习Linux
系统编程
总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。
AllisWell_WP
·
2023-09-25 09:56
linux
java
操作系统
嵌入式
python
Linux
系统编程
——文件
文章目录Linux文件从哪来?Linux文件基本函数open函数文件描述符close函数write函数read函数lseek函数creat函数ioctlmmap文件编程的一般步骤文件系统的初识实现cp指令带参数的main函数实现步骤:代码:C语言的文件指令与C库的文件指令的区别怎么知道函数的用法Linux文件从哪来?Linux的文件既可以是真实保存到存储介质的文件,也可以是自身内核提供的虚拟文件,
Is Fang
·
2023-09-25 09:55
Linux
linux
unix
服务器
Linux
系统编程
——总结初识Linux(常用命令、特点、常见操作系统)
文章目录UNIX操作系统(了解)Linux操作系统主要特征Linux和unix的区别和联系什么是操作系统常见的操作系统Ubuntu操作系统Ubuntu安装linux下的目录的类型(掌握)shell指令shell指令的格式文件操作相关指令系统相关命令网络相关命令其他命令软件安装相关的指令UNIX操作系统(了解)UNIX操作系统的起源可以追溯到1960年代末和1970年代初,它最初由贝尔实验室的肯·汤
老王WHH
·
2023-09-25 09:25
Linux系统编程
linux
运维
服务器
【Linux
系统编程
】通过系统调用获取进程标识符 及 创建子进程(fork)
文章目录1.通过系统调用获取进程标示符(PID)1.1进程id(PID)1.2父进程id(PPID)2.bash也是一个进程3.通过系统调用创建进程-fork初识3.1批量化注释3.2取消注释3.3fork创建子进程3.4fork的返回值3.5fork之后通常要用if进行分流3.6父子进程代码共享,数据写时拷贝(实现相互独立)3.7如何理解fork两个返回值的问题1.通过系统调用获取进程标示符(P
YIN_尹
·
2023-09-24 23:04
Linux
系统编程
linux
进程
fork
PID
《Linux
系统编程
训练营》9_Linux 进程层次分析
详解Linux进程组每个进程都有一个进程组号(PGID)进程组:一个或多个进程的集合(集合中的进程并不孤立)进程组中的进程通常存在父子关系,兄弟关系,或功能相近进程组可方便进程管理(如:同时杀死多个进程,发送一个信号给多个进程)每个进程必定属于一个进程组,也只能属于一个进程组进程除了有PID外,还有PGID(唯一,可变,即某一个进程可以切换进程组)每个进程组有一个进程组长,进程组长的PID和PGI
·
2023-09-24 20:11
linux
Linux
系统编程
进程相关概念
1.进程相关概念程序(Program)”是一个静态的概念,一般对应于操作系统中的一个可执行文件执行中的程序叫做进程(Process),是一个动态的概念,现代的操作系统都可以同时启动多个进程。程序:死的。只占用磁盘空间。——剧本。进程;活的。运行起来的程序。占用内存、cpu等系统资源。——戏。比如:我们在用酷狗听音乐,也可以使用eclipse写代码,也可以同时用浏览器查看网页。(1)进程:一个正在运
zyc0705
·
2023-09-24 18:59
Linux
linux
Linux下的网络编程——网络基础、socket编程(一)
前言:前面我们学习了Linux的
系统编程
,从今天我们就要开始Linux网络编程的学习了,Linux网络编程中的知识点可能没有前面的Linux系统多一点,但是基础的网络知识我们还是需要了解的,并且网络编程中的
我想学LINUX
·
2023-09-24 07:17
网络
linux
IPC方式
IP协议
TCP协议
UDP协议
socket编程
Rust vs C++ 深度比较
Rust由于其强大的安全性受到大量关注,被认为C++在
系统编程
领域最强大的挑战者。本文从语言、框架等方面比较了两者的优缺点。
俞凡 DeepNoMind
·
2023-09-24 06:55
c++
开源日报 0822 | 语音识别与推理
这些项目包括JavaScript算法示例、
系统编程
语言Rust、高性能的自动语音识别推理项目Whisper.cpp以及键盘工作者的单词记忆与英语肌肉记忆锻炼软件QwertyLearner。
开源服务指南
·
2023-09-23 16:40
开源日报
语音识别
人工智能
Rust vs C++ 深度比较
Rust由于其强大的安全性受到大量关注,被认为C++在
系统编程
领域最强大的挑战者。本文从语言、框架等方面比较了两者的优缺点。
·
2023-09-23 10:37
程序员
【C语言】basename函数
basename()是一个Linux
系统编程
常用的C语言库函数,包含在头文件中。basename()函数的作用是从一个路径中提取文件名部分。
一尘之中
·
2023-09-23 09:19
C语言
linux
编程
c语言
开发语言
Linux
系统编程
——网络编程的学习
Linux
系统编程
学习相关博文Linux
系统编程
——文件编程的学习Linux
系统编程
——进程的学习Linux
系统编程
——进程间通信的学习Linux
系统编程
——线程的学习Linux
系统编程
——网络编程的学习一
智能轰炸机
·
2023-09-22 11:45
linux
网络
学习
Linux
系统编程
——进程的学习
Linux
系统编程
学习相关博文Linux
系统编程
——文件编程的学习Linux
系统编程
——进程间通信的学习Linux
系统编程
——线程的学习Linux
系统编程
——网络编程的学习Linux
系统编程
——进程的学习一
智能轰炸机
·
2023-09-22 11:15
linux
学习
Linux
系统编程
——进程间通信的学习
学习参考博文:进程间的五种通信方式介绍Linux信号介绍Linux
系统编程
学习相关博文Linux
系统编程
——文件编程的学习Linux
系统编程
——进程的学习Linux
系统编程
——线程的学习Linux
系统编程
智能轰炸机
·
2023-09-22 11:15
linux
学习
Linux
系统编程
——文件编程的学习
Linux
系统编程
学习相关博文Linux
系统编程
——进程的学习Linux
系统编程
——进程间通信的学习Linux
系统编程
——线程的学习Linux
系统编程
——网络编程的学习Linux
系统编程
——文件编程的学习一
智能轰炸机
·
2023-09-22 11:14
linux
学习
Linux
系统编程
——线程的学习
学习参考博文:Linux多线程编程初探Linux
系统编程
学习相关博文Linux
系统编程
——文件编程的学习Linux
系统编程
——进程的学习Linux
系统编程
——进程间通信的学习Linux
系统编程
——网络编程的学习
智能轰炸机
·
2023-09-22 11:41
linux
学习
【Linux】
系统编程
生产者消费者模型(C++)
目录【1】生产消费模型【1.1】为何要使用生产者消费者模型【1.2】生产者消费者模型优点【2】基于阻塞队列的生产消费者模型【2.1】生产消费模型打印模型【2.2】生产消费模型计算公式模型【2.3】生产消费模型计算公式加保存任务模型【2.3】生产消费模型多生产多消费【1】生产消费模型生产消费模型的321原则(便于记忆)。【解释】3种关系:生产者和生产者(互斥)、消费者和消费者(互斥)、生产者和消费者
傻响
·
2023-09-22 06:53
Linux
linux
【Linux】
系统编程
线程互斥与同步(C++)
目录【1】线程互斥【1.1】进程线程间的互斥相关背景概念【1.2】互斥量mutex【1.3】互斥量实现原理探究【1.4】RAII的加锁风格【2】可重入VS线程安全【2.1】概念【2.2】常见的线程不安全的情况【2.3】常见的线程安全的情况【2.4】常见不可重入的情况【2.5】常见可重入的情况【2.6】可重入与线程安全联系【2.7】可重入与线程安全区别【3】死锁【3.1】死锁的概念【3.2】死锁四个
傻响
·
2023-09-22 06:51
Linux
java
C++内存泄漏检查工具——Valgrind(--tool = memcheck)
在写大型C/C++工程时难免会发生内存泄漏现象,
系统编程
中一个重要的方面就是有效地处理与内存相关的问题。你的工作越接近系统,你就需要面对越多的内存问题。
weixin_30390075
·
2023-09-21 08:20
Python -- linux
系统编程
爆破用户密码(shadow 文件)
主机:centos/kali系统:linux系统语言:Python主要模块:crypt字典:list.txt字典内容:脚本:burp.py代码:importcryptpasswd='$6$pKDCUxnEw.7MW7yo$NBsVfzLwOsU0pMg0nPKu/T/La/b7ymVGhoPtVJx60/LHOdnR7y.1YUcwwb40Et.wOBtrPUc4xD1ayjl6Tzvhu.'f=
睡不醒的张同学
·
2023-09-21 03:32
网安python技巧
python
linux
centos
Linux学习日记15——exec函数族、回收子进程
学习视频链接黑马程序员-Linux
系统编程
_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1KE411q7ee?
herb.dr
·
2023-09-21 02:54
linux
linux
【Linux
系统编程
】操作系统的概念、定位 及系统调用
文章目录前言1.操作系统的概念和定位2.如何理解“管理”3.操作系统为什么要做管理4.系统调用和库函数概念5.局部性原理6.计算机体系结构前言上一篇文章我们学习了冯诺依曼体系结构(属于计算机硬件的范畴),其中我们提到,因为有了内存的存在,我们可以把数据预加载到内存中,然后供CPU进行获取处理。那我问大家一个问题,就是我们的数据可能非常多,那预加载的时候要先预加载那一部分数据呢?如果内存不够了怎么办
YIN_尹
·
2023-09-20 13:10
Linux
系统编程
linux
服务器
运维
【Linux
系统编程
】进程概念与基本创建
文章目录1.进程的概念2.进程描述—PCB3.task_struct—PCB的一种4.task_struct内容分类5.查看进程这篇文章我们来学习下一个概念——进程1.进程的概念那什么是进程呢,我们该如何理解它呢?如果我们打开电脑的任务管理:我们看到这里面就展示了当前正在运行的进程,那大家看这其实就是我们当前打开的程序嘛所以,我们给出一个结论:我们以前任何启动并运行程序的行为,都是由操作系统帮助我
YIN_尹
·
2023-09-20 13:07
Linux
系统编程
linux
运维
服务器
Linux
系统编程
(三):进程
参考引用UNIX环境高级编程(第3版)黑马程序员-Linux
系统编程
1.进程相关概念1.1程序和进程程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(CPU、内存、打开的文件、设备、锁…)程序→剧本
Robot_Yue
·
2023-09-20 10:46
Linux系统编程
linux
服务器
学习
笔记
c++
stm32
单片机
Linux
系统编程
:详解进程地址空间
目录一.进程空间的布局二.进程地址空间2.1早期CPU访问物理内存的方式2.2什么是虚拟地址(进程地址空间)2.3操作系统对地址空间的管理方法三.地址空间存在的意义四.总结一.进程空间的布局在语言层面学习C/C++时,根据变量/对象类型的不同,我们画出了如图1.1的空间布局图,从高地址到低地址,每个区域所代表的意义为:内核空间(用户无法使用)、命令行参数和环境变量区、栈区、堆区、静态区(包括未初始
【Shine】光芒
·
2023-09-20 10:38
Linux系统和网络
linux
运维
服务器
Linux
系统编程
之条件变量
Linux条件变量1.头文件2.类型2.1.类型值2.2.条件变量和属性类型3.接口3.1.条件变量接口3.1.1动态初始化资源3.1.2.动态释放资源3.1.3.条件变量阻塞3.1.4.带超时时间的条件变量阻塞3.1.5.唤醒单个阻塞线程3.1.6.唤醒所有被阻塞的线程3.2.条件变量属性接口3.2.1.属性初始化3.2.2.属性释放3.2.3.修改属性3.2.4.查询属性3.2.5.获取设置超
Siveens
·
2023-09-20 09:50
Linux系统编程
linux
Linux下的
系统编程
——守护进程、线程(十二)
前言:我们知道进程拥有一个PCB,在Linux中被称为task_struct,并且有一个进程地址空间,也有一个页表,通过页表指向物理内存,但是从今天开始,对进程的概念可能发生变化,这个我们后边来说,在Linux中,并没有真正的线程,而是使用进程的PCB来模拟线程,也就是说一个线程在创建时,只会去创建一个PCB,而这个PCB也指向主线程的虚拟地址空间,和其他线程一起共享内存的代码和数据。一个线程也被
我想学LINUX
·
2023-09-19 08:04
linux
进程概念
进程控制
进程共享
Linux下的
系统编程
——线程同步(十三)
前言:在多线程编程中,如果多个线程同时访问和修改共享资源,可能会产生竞争条件和数据不一致的问题。同步机制用于协调线程之间的访问和操作,确保数据的正确性和一致性。为了避免多个线程同时访问和操作共享资源导致的问题,可以使用互斥锁(mutex)来实现线程的互斥访问。互斥锁可以保证同一时间只有一个线程访问共享资源、条件变量用于线程之间的通信和同步。一个线程可以等待某个条件成立,而其他线程可以通过发送信号来
我想学LINUX
·
2023-09-19 08:31
linux
wait
死锁
mutex
读写锁
条件变量
线程同步
【Linux
系统编程
】线程同步
------------->【Linux
系统编程
/网络编程】(学习目录汇总)#include#include#include#include#include#include#defineMAX100//
BillySturate
·
2023-09-19 03:25
Linux系统编程
c语言
linux
服务器
运维
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他