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
Linux-C系统编程
Linux C
系统编程
2-4 进程管理 进程间通信
该系列文章总纲链接:专题分纲目录LinuxC
系统编程
本章节思维导图如下所示(思维导图会持续迭代):第一层:第二层:进程间通信的意义在于怎样让多个进程相互之间访问数据,在linux下有很多种方式来实现。
图王大胜
·
2023-11-07 12:59
Linux
系统
linux
c语言
运维
【Linux
系统编程
】Linux多进程开发-进程间通信
进程间通信***进程是一个独立的资源分配单元,不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联。不能在一个进程中直接访问另一个进程的资源。但是,进程不是孤立的,不同的进程需要进行信息的交互和状态的传递等,因此需要进程间通信(IPC:InterProcessesCommunication)。进程间通信的目的:数据传输:一个进程需要将它的数据发送给另一个进程。通知事件:一个进程
Beyon.sir
·
2023-11-07 11:44
Linux高并发服务器开发
linux
服务器
linux
系统编程
:分叉函数fork && 父子进程
文章目录fork基本用法fork特点1.返回值2.拥有相同且独立的虚拟空间3.并发执行4.共享文件父子进程共享内容fork基本用法作用:通过系统调用创建一个与原来进程几乎完全相同的进程。系统为新的进程分配资源,将原来的进程的所有数据都复制到新的新进程中,除了某些细节有所不同,在某种意义上相当于克隆了一个自己。我们来看一段代码,先简单了解一下fork函数的功能:#include#includeusi
大家好,我是好同学
·
2023-11-07 11:10
linux系统编程
linux
服务器
c++
linux信号量处理函数,Linux
系统编程
—信号量
信号量(简介)共享内存和消息队列,这两者都是用于交换数据,而信号量通常用来做进程同步。在系统中,给予每一个进程一个信号量,代表每个进程目前的状态,未得到控制权的进程会在特定地方被强迫停下来,等待可以继续进行的信号到来。如果信号量是一个任意的整数,通常被称为计数信号量,或一般信号量;如果信号量只有二进制的0或1,称为二进制信号量。在linux系统中,二进制信号量又称互斥锁。信号量(操作)要掌握信号量
摸金校尉73
·
2023-11-07 10:39
linux信号量处理函数
系统编程
笔记01——标准IO
1标准IO1.1基本概念1.1.1系统调用IO与标准IO的区别(1)系统调用IO:内核提供的一系列接口,不同内核的接口不同。(2)标准IO:合并系统调用并将内核接口进行封装后的库函数,可移植性高。(3)标准IO与系统IO的对比:①可移植性:标准IO>文件IO;②效率:多文件时标准IO的效率更好。(4)合并系统调用:标准IO并没有马上将缓冲区的内容输出到文件,减少了对外设的使用,效率更高。(5)原则
古予一
·
2023-11-07 08:34
嵌入式开发笔记
笔记
c语言
Linux
系统编程
读书笔记1
一文件i/o和标准i/o的区别1先来了解下什么是文件I/O和标准I/O:文件I/O:文件I/O称之为不带缓存的IO(unbufferedI/O)。不带缓存指的是每个read,write都调用内核中的一个系统调用。也就是一般所说的低级I/O——操作系统提供的基本IO服务,与os绑定,特定于linix或unix平台。标准I/O:标准I/O是ANSIC建立的一个标准I/O模型,是一个标准函数包和stdi
悾悾如也
·
2023-11-07 08:58
Linux系统编程
Rust 入门实战系列(1)- Hello World
专栏开篇Rust这门语言有很多优势,但最令我好奇的地方在于,这还是第一次见到一个语言,从前端展示,到后端业务,到
系统编程
都能做。这一点太了不起了。
java_lujj
·
2023-11-06 14:11
rust
开发语言
后端
Linux
系统编程
之进程退出,父进程等待子进程退出
1.首先讲一下进程的退出进程的退出分为正常退出和异常退出:正常退出:(1)main函数调用return(2)进程调用exit(),标准C库(3)进程调用_exit()或_Exit(),属于系统调用(4)进程最后一个线程返回(5)最后一个线程调用pthread_exit异常退出:(1)调用abort(2)当进程收到某些信号时,例如Ctrl+c(3)最后一个线程对取消(cancellation)请求做
嵌入式软件工程师
·
2023-11-06 09:13
嵌入式软件工程师
linux
c语言
Liunx
系统编程
之进程间通信
进程间通信(IPC)是指在不同进程之间传播或交换信息。参考博文:https://www.cnblogs.com/CheeseZH/p/5264465.html1.管道(无命名管道)管道,通常指无名管道,是UNIX系统IPC最古老的形式。–只适用于父子进程,特点:它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。
陈(Chen)
·
2023-11-05 19:35
linux系统编程
linux
Liunx
系统编程
笔记
1.进程概念1.1冯诺依曼体系结构1.1.1中央处理器:cpu功能:完成算术运算、逻辑运算(与或非门)如在完成1+1=2的运算时,cpu将两个数进行算术运算获取结果,回写到内存,并通过输出设备进行输出1.1.2存储器:内存功能:保存临时数据(不能持久化保存)结论(1)所有数据都是采用2进制进行存储(通过模拟电流的高低电频模拟二进制数据)(2)运算产生的数据都是存储在内存中扩展(1)1个CPU同一时
qq_45645552
·
2023-11-05 19:03
Linux学习
笔记
Linux
系统编程
中常用命令和信号等
一、命令1.帮助命令man(manual)type命令//查看是内建命令还是外部命令if(命令=='内建命令'){help命令}else{命令--help或man命令}执行more--help最后一行显示"更多信息请参阅more(1)",括号里代表什么含义?它其实是对所查询信息的一个分类。数字代表含义1用户在shell环境中可操作的标准命令或可执行文件2系统内核调用的函数及工具3常用的库函数4设备
一指流沙q
·
2023-11-05 19:01
Linux系统编程
linux
【Linux
系统编程
】系统用户和权限的操作
目录一,Linux的用户1,用户之间的切换2,超级用户权限的使用二,Linux的文件权限1,文件信息的介绍2,文件权限的修改3,用户的修改3-1,拥有者的更改3-2,所属组的更改3-3,同时修改拥有者和所属组4,权限掩码5,相同系统不同用户文件的互相使用一,Linux的用户1,用户之间的切换用户之间的切换常用su命令,su[用户]将会把当前用户切换成[用户],直接使用su直接默认切换成root用户
青春:一叶知秋
·
2023-11-05 19:59
linux
运维
服务器
【Liunx
系统编程
】命令模式3
目录一,zip/unzip压缩指令二,tar打包/压缩/解包指令三,uname获取系统信息指令四,Liunx下常用且重要的按键和关机指令五,文件之间的互传1,Windows与Linux之间的互传2,Linux系统之间的远程拷贝六,Liunx系统的分析一,zip/unzip压缩指令zip功能:将目录或文件压缩成zip格式zip语法:zip[选项][压缩的文件.zip][目录或文件]zip常见选项:-
青春:一叶知秋
·
2023-11-05 19:54
linux
运维
服务器
【Linux系统学习】
系统编程
开发工具编译器gcc/g++使用
=========================================================================个人主页点击直达:小白不是程序媛Linux专栏:Linux系统学习=========================================================================目录前言Linux系统下安装gcc和g++
小白不是程序媛
·
2023-11-05 19:53
Linux系统化学习
学习
系统库
linux
运维
Linux背景介绍与环境搭建
本章内容认识Linux,了解Linux的相关背景学会如何使用云服务器掌握使用远程终端工具xshell登陆Linux服务器Linux背景介绍发展史本门课程学习Linux
系统编程
,你可能要问Linux从哪里来
EDG.TSWS
·
2023-11-05 10:49
Linux操作系统
linux
运维
服务器
Linux
系统编程
之进程(exec族函数)
一、exec()族函数说明二、exec族函数(execl,execlp,execle,execv,execvp,execvpe)1、带L的一类exac函数(execl、execlp、execle)2、带P的一类exec函数(execlp、execvp、execvpe)3、带V不带L的一类exec函数(execv、execvp、execve)4、带E的一类exec函数(execle、execvpe)
咖喱年糕
·
2023-11-04 14:43
LINUX
linux
算法
c语言
ubuntu 20.04无法连接网络,网线灯不亮,network-manager也启动不了
背景
系统编程
只读的了,进入到initramfs模式,执行了下边语句,发现不小心把windows也给执行了,报错很多乱码,强制退出执行fsck-y/dev/sdb4fsck-text4/dev/sdb5-
telllong
·
2023-11-04 14:04
linux系统开发
ubuntu
网络
linux
Linux
系统编程
概述
文章目录1
系统编程
概念操作系统的主要任务是什么?什么是
系统编程
?2
系统编程
特点3Linux
系统编程
内容4网络编程内容1
系统编程
概念操作系统的主要任务是什么?
Darren_Chen_
·
2023-11-04 13:15
linux系统
linux
服务器
Linux
1.认识Linux,了解Linux的相关背景2.掌握使用远程终端工具xshell登陆Linux服务器3.Linux下基本指令4.shell命令以及运行原理1.Linux背景介绍本门课程是学习Linux
系统编程
笨笨胡小巴
·
2023-11-03 03:46
Linux
linux
Linux
系统编程
-基本命令
Linux
系统编程
-基本命令目录1.学习目标2.Linux/Unix操作系统简介2.1Linux操作系统的目标(了解)2.2Linux操作系统的作用(了解)2.3Unix家族(了解)2.4Linux家族
IT学徒.
·
2023-11-03 00:21
Linux
linux
unix
服务器
运维
系统架构
Linux
系统编程
(4)
分配数组int*x,*y;x=malloc(50*sizeof(int));if(!x){perror("malloc");return1;}y=calloc(50,sizeof(int));if(!y){perror("calloc");return1;}calloc会将所申请的内存全部填充0,malloc则不会。调整内存分配的大小#includevoid*realloc(void*ptr,si
半路程序员
·
2023-11-02 07:45
linux
Linux
系统编程
,socket通信编程实践练习(C语言)
文章目录Linux
系统编程
,socket通信编程实践练习(C语言)1.服务端代码2.客户端代码Linux
系统编程
,socket通信编程实践练习(C语言)1.服务端代码#include#include#include
qfh-coder
·
2023-11-02 06:02
Android进阶训练营
linux
c语言
网络
Linux多线程服务端编程:使用muduo C++网络库 学习笔记 第四章 C++多线程
系统编程
精要
学习多线程编程面临的最大思维方式的转变有两点:1.当前线程可能随时会被切换出去,或者说被抢占(preempt)了。2.多线程程序中事件的发生顺序不再有全局统一的先后关系了。当线程被切换回来继续执行下一条语句(指令)的时候,全局数据(包括当前进程在操作系统内核中的状态)可能已经被其他线程修改了。例如,在没有为指针p加锁的情况下,if(p&&p->next){/*...*/}有可能导致segfault
吃着火锅x唱着歌
·
2023-11-01 17:20
C++网络库
linux
c++
网络
c语言tips-【
linux-C
语言多线程编程】
0.摘要操作系统具有管理进程,进程调度的能力,线程,决定哪个进程、线程使用CPU。很多时候我们需要在同一时间干不同的任务,这就需要我们通过多进程或者多线程来进行,在我们学习和工作中我们大部分用到的都是多线程,本文主要是在linux下探索c语言的多进程的使用方法文中的内容大部分是从大丙老师博客地址(https://subingwen.cn/linux)那里copy来的,有些内容是为了完善内容体系或者
ZHHHHHJ66
·
2023-10-31 10:59
C语言
linux
c语言
linux
java
【Linux
系统编程
】socket介绍
1.socket介绍所谓socket(套接字),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象(端到端通信)。一个套接字就是网络上进程通信的一端,给应用层进程提供了利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口。socket可以看成是两个网络应用程序进行通信时,各自通信连接中
Beyon.sir
·
2023-10-31 04:20
Linux高并发服务器开发
linux
服务器
网络
Linux
系统编程
,socket通信编程。
文章目录Linux
系统编程
,socket通信编程。1.常见的进程间通信方式2.socket3.listen4.accept5.connectLinux
系统编程
,socket通信编程。
qfh-coder
·
2023-10-31 04:18
Android进阶训练营
linux
运维
服务器
linux的vim安装与编程,【Linux
系统编程
】vim 的安装配置及使用
前言Learnvimanditwillbeyourlasttexteditor.Thereisn’tanybettertexteditorthatIknowof.Itishardtolearn,butincredibletouse.学习VIM,它会是你最后的文本编辑器。没有任何好转的文本编辑器,我知道的。这是很难学,但令人难以置信的使用。VI是LINUX下最老牌的编辑工具,而VIM则是VI的升级版
susieforever
·
2023-10-31 00:10
linux的vim安装与编程
C语言被忽视的一些小东西!C语言基础教程之错误处理
C语言不提供对错误处理的直接支持,但是作为一种
系统编程
语言,它以返回值的形式允许您访问底层数据。
诸葛青云999
·
2023-10-30 19:37
Rust 环境安装——Rust语言基础01
Rust是一种高效的工具,可以在具有不同
系统编程
知识水平的大型开发人员团队之间进行协作。低级代码容易出现各种细微
Imagine Miracle
·
2023-10-30 07:31
#
Rust小小白
rust
学习
开发语言
Linux之
系统编程
1.yum1.yumlist可以出现所有可下载的程序辅助grep进行查找2.yuminstall可以下载并安装3.yumremove可以卸载程序不同的商业操作系统内核都是一样的,主要是配套社区不一样。开源组织,各大公司,既得利益者。同上基础软件源可以保证稳定性,一般用久了也可以把扩展软件源移一部分过去。这个就是基础原件源下面就是扩展软件源可以通过yuminstall-yepelreleaese进行
炬火初现
·
2023-10-29 23:15
linux
运维
服务器
Rust所有权
这使得Rust特别适合
系统编程
,包括创建操作系统、游戏引擎、浏览
瓶子里肥皂泡
·
2023-10-29 15:33
我的博客
rust
开发语言
宇信科技:强势行业加速融入AIGC,同时做深做细
【科技明说|重磅专题】大家可能没有想到,一向对外低调行事的宇信科技,在AIGC方面2023年就已经训练出了适配金融场景的垂直模型,并应用到了各产品线上,同时结合通用大模型预研了宇信金融
系统编程
大模型。
阿明观察
·
2023-10-29 11:25
科技明说
阿明观察
人工智能
科技
AIGC
大数据
云计算
人工智能
Linux
系统编程
_进程间通信第2天: 共享内存(全双工)、信号(类似半双工)、信号量
1.共享内存概述(433.10)(全双工)2.共享内存编程实现(434.11)共享内存(SharedMemory),指两个或多个进程共享一个给定的存储区特点共享内存是最快的一种IPC,因为进程是直接对内存进行存取。因为多个进程可以同时操作,所以需要进行同步。信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问。原型#include//创建或获取一个共享内存:成功返回共享内存ID,失败
Cui杰西
·
2023-10-28 15:37
linux
运维
服务器
Linux
系统编程
_线程:线程、互斥量、条件变量
1.线程概述(与进程的区别及线程的优势)(437.1)Linux多线程编程初探https://www.cnblogs.com/xiehongfeng100/p/4620852.html进程与线程典型的UNIX/Linux进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。进程是程序执行时的
Cui杰西
·
2023-10-28 15:37
linux
c语言
Linux
系统编程
_进程:C程序空间分配、(v)fork、wait、exec、system、popen
1.进程相关概念(414.1)问1.什么是程序,什么是进程,有什么区别?程序是静态的概念,gccxxx.c–opro,磁盘中生成pro文件,叫做程序进程是程序的一次运行活动,通俗点即程序跑起来了,系统中就多了一个进程问2.如何查看系统中有哪些进程?a.使用ps指令查看进程,实际工作中配合grep来查找程序中是否存在某一进程ps//仅显示当前终端会话中运行的进程的快照psaux//仅显示当前终端会话
Cui杰西
·
2023-10-28 15:37
linux
c语言
运维
Linux
系统编程
_进程间通信第1天:IPC、无名管道pipe和命名管道mkfifo(半双工)、消息队列msgget(全双工)
1.进程间通信概述(427.1)2.管道通信原理(428.2)(半双工)进程间的五种通信方式介绍https://blog.csdn.net/wh_sjc/article/details/70283843进程间通信(IPC,InterProcessCommunication):在不同进程之间传播或交换信息(*面试会问)IPC的方式通常有管道(无名管道和命名管道)、消息队列、信号量、共享存储、Sock
Cui杰西
·
2023-10-28 15:06
linux
运维
服务器
Linux
系统编程
_网络编程:字节序、socket、server&client、ftp 云盘
1.网络编程概述(444.1)TCP/UDP对比TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的UDP没有拥塞控制,因此网络出现拥塞不会使源主机
Cui杰西
·
2023-10-28 15:04
linux
网络
运维
Linux
系统编程
3--文件IO
前话内核:当前操作系统的核心程序(主要是驱动程序--一个驱动程序唯一对应一个硬件设备,是组成操作系统内核的关键)操作系统的本质:程序,内核就是操纵系统的核心程序内核服务于上层应用,与硬件(硬盘、内存等)打交道系统调用:由内核提供的函数,由操作系统实现并提供给外部应用程序的编程接口,是应用程序与系统之间数据交互的桥梁接下来学习严格来说是系统函数--在manpage中,为什么说是系统函数?--系统函数
zhaojiazb
·
2023-10-28 13:46
Linux系统编程
linux
服务器
Linux
系统编程
篇—文件IO(文件来源、文件访问)
一、文件的来源1、磁盘、Flash、SD卡、U盘这些来源是真实存在的文件,以FAT32,EXT4,…等格式保存在某个设备上(如/dev/sda1),要使用mount指令挂载才能使用。df-T//文件系统类型在Type列输出。只可以查看已经挂载的分区和文件系统类型。2、Linux内核提供的虚拟文件系统,使用时也需要mount指令挂载才能使用。3、特殊文件:/dev/下的文件,这些文件是一些设备结点,
阿波罗啦啦啦啦
·
2023-10-28 13:11
Liunx系统编程篇
linux
嵌入式
文件
linux系统调用
一、
系统编程
概述操作系统的职责:操作系统用来管理所有的资源,并将不同的设备和不同的程序关联起来。Linux
系统编程
:在有操作系统的环境下编程,并使用操作系统提供的系统调用及各种库,对系统资源进行访问。
独爱编程
·
2023-10-28 13:35
linux
c语言
【linux
系统编程
】文件IO
一、系统调用二、打开/关闭文件2.1、open函数(1)打开一个存在的文件#include#include#includeintmain(intargc,char*argv[]){intfd=open("./leetcode.txt",O_RDONLY);printf("fd=%d\n",fd);close(fd);return0;}(2)打开一个不存在文件#include#include#inc
StudyWinter
·
2023-10-28 13:31
linux系统编程
linux
ubuntu
linux系统编程
文件io
从JavaScript到Rust的三年时间小结
Rust是一种注重安全性、速度和并发性的
系统编程
语言。它能编译成高效的本地代码,无需垃圾回收即可访问内存等底层资源,同时还能防止分隔故障。作者讨论了他们几年来用Rust构建大型应用程序和库的经验。
极道Jdon
·
2023-10-27 07:26
javascript
reactjs
linux
系统编程
获取系统信息
一、本章讲什么1.1获取系统文件的数据(1)什么是系统文件就是Linux系统自己会用到的文件,分为两类。1)文本文件(a)里面的内容都是文字编码,vi打开后,我们能够识别的数据。(b)放的都是Linux系统要用到各种配置信息Linux系统在启动和运行时,会用到里面的数据。我们自己写的程序,有的时候也需要用到里数据,但是我们基本只是读数据,大多数情况只有Linux系统才会去改里面的数据,本章会介绍我
路飞H
·
2023-10-27 05:36
linux系统编程
linux
服务器
linux
系统编程
进程间通信
一、进程间通信(1)进程间通信的原理尽管进程空间是各自独立的,相互之间没有任何可以共享的空间,但是至少还有一样东西是所有进程所共享的,那就是OS,因为甭管运行有多少个进程,但是它们共用OS只有一个。既然大家共用的是同一个OS,那么显然,所有的进程可以通过大家都共享第三方OS来实现数据的转发。因此进程间通信的原理就是,OS作为所有进程共享的第三方,会提供相关的机制,以实现进程间数据的转发,达到数据共
路飞H
·
2023-10-27 05:36
linux系统编程
linux
服务器
【linux程序设计】使用POSIX API的文件I/O操作方法仿写cp命令
电子科技大学《linux操作
系统编程
》实验2:https://www.icourse163.org/learn/UESTC-1003040002?
_奶酪
·
2023-10-27 01:18
Linux
linux程序设计
linux文件I/O操作
cp命令
Linux
系统编程
之错误处理:perror,strerror和errno
1,在
系统编程
中错误通常通过函数返回值来表示,并通过特殊变量errno来描述。
简单并快乐着
·
2023-10-26 18:48
linux
应用
C语言中的内联汇编是什么?如何使用内联汇编进行底层编程?
内联汇编通常用于底层编程,例如操作系统开发、嵌入式
系统编程
和性能关键的应用程序。本文将详细介绍内联汇编的概念、语法和用法,以及如何使用它进行底层编程。
灰度少爷
·
2023-10-26 11:42
C语言100问
c语言
汇编
开发语言
LInux
系统编程
(3)
取得拓展属性#include#includessize_tgetxattr(constchar*path,constchar*key,void*value,size_tsize);ssize_tlgetxattr(constchar*path,constchar*key,void*value,size_tsize);ssize_tfgetxattr(intfd,constchar*key,void
半路程序员
·
2023-10-25 13:44
linux
c++
Linux
系统编程
学习 NO.8 ——make和Makefile、进度条程序
前言今天是1024程序员节,不知不觉离第一次写博客已经过去了一年了。在此祝各位程序员不写bug,不再秃头。make和Makefile什么是make和Makefile?make和Makefile是软件开发时所用到的工具和文件。make是一个指令工具。Makefile是一个当前目录下的文件。make和Makefile可以提高我们在Linux下的开发效率。简单演示下面用一份c代码来进行演示。在当前目录下
玩铁的sinZz
·
2023-10-25 11:38
系统编程学习
1024程序员节
Linux-C
语言传参方式
参数传递三种方式:值传递:未操作实参的地址操作的是形参的数值,不能改变实参的值地址传递:操作实参的地址,实参值改变引用传递:引用操作形参相当于操作实参,实参值改变值传递:如果形参为非引用的传值方式,则生成局部临时变量接收实参的值voidSwap(intleft,intright){ inttemp=left; left=right; right=temp;} 传参时对
「已注销」
·
2023-10-25 10:09
Linux-c基础
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他