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系统编程内核编程
Linux系统编程
——线程同步
在学习
Linux系统编程
总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。
AllisWell_WP
·
2023-10-02 13:29
多线程
java
并发编程
面试
操作系统
【
Linux系统编程
】进程状态
文章目录前言1.准备工作2.阻塞、挂起状态的了解2.1阻塞2.2挂起3.看看Linux内核源代码怎么说4.R运行状态(running)5.S休眠状态(sleeping)6.D不可中断休眠状态7.T暂停状态(stopped)8.t追踪暂停状态(tracingstop)9.X死亡状态(dead)10.Z僵尸状态(zombie)前言在前面的学习中,我们已经学习了进程的概念和基本创建,以及如何通过相关的系
YIN_尹
·
2023-10-01 23:20
Linux
系统编程
linux
进程状态
系统编程
【
Linux系统编程
】僵尸进程与孤儿进程
文章目录1.僵尸进程2.僵尸进程的危害3.孤儿进程1.僵尸进程上一篇文章进程的状态中最后我们提出了僵尸状态:为了方便子进程退出后父进程或操作系统获取该进程的退出结果,Linux进程退出时,进程一般不会立即死亡,而是要维持一个Z状态即——僵尸状态。那处在僵尸状态的进程即僵尸进程,那首先我们就要来重点理解一下僵尸进程。那我们来给大家讲一个故事:假如你呢是一名非常自律上进的大学生,每天早晨都有到外面跑步
YIN_尹
·
2023-10-01 23:20
Linux
系统编程
linux
服务器
unix
Linux系统编程
系列之守护进程
一、什么是守护进程守护进程(Daemon)被翻译为精灵进程、后台进程(不推荐这么叫),是一种旨在运行于相对干净环境、不受终端影响的、常驻内存的进程,像西方神话中的精灵拥有不死的特性,长期稳定提供某种功能或者服务。在Unix/Linux系统中,使用ps命令可以看到许多以-d结尾的进程,它们大多都是守护进程。二、守护进程的特性行于相对干净环境、不受终端影响的、常驻内存的进程,长期稳定提供某种功能或者服
Great Macro
·
2023-10-01 21:41
Linux
C语言程序设计
c语言
linux
Linux系统编程
系列之进程间通信-信号量组
一、什么是信号量组信号量组是信号量的一种,是system-V三种IPC对象之一,是进程间通信的一种方式。二、信号量组的特性信号量组不是用来传输数据的,而是作为“旗语”,用来协调各进程或者线程工作的。信号量组可以一次性在其内部设置多个信号量,而信号量本质上是一个数字,用来表征一种资源的数量,当多个进程或者线程争夺这些稀缺资源的时候,信号量用来保证他们合理地,秩序地使用这些资源,而不会陷入逻辑谬误之中
Great Macro
·
2023-10-01 17:14
Linux
C语言程序设计
c语言
linux
【
Linux系统编程
】开源的分布式版本控制系统——git的基本使用
文章目录1.git的历史2.什么是版本控制,怎么理解?3.git的主要功能4.git与Gitee/GitHub的关系与区别5.git的基本使用5.1git的安装5.2创建仓库5.3开源设置5.4克隆到本地5.5如何上传到仓库并推送到远端addcommitpush5.6删除文件5.7删除仓库这篇文章我们继续学习开发工具,今天要学的是开源的分布式版本控制系统——git1.git的历史Git是一个分布式
YIN_尹
·
2023-10-01 12:35
Linux
系统编程
linux
开源
分布式
linux课程_【课程完结】嵌入式Linux应用/驱动开发基础知识两大篇章已全部录制完毕 共72集...
Linux应用开发基础知识嵌入式Linux全新系列教程第四篇《嵌入式Linux应用开发基础知识》我们首先讲解一个应用程序怎么去编译才能在开发板上运行,再到GCC编译器、Makefile的使用,然后讲解
Linux
weixin_39753397
·
2023-10-01 05:54
linux课程
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
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/O
Linux系统编程
(二):文件和目录
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
多进程
C代码练手记录之五
Linux系统编程
中的信号有几个属性,信号的类型,信号是否可被打断,信号处理函数处理完后的动作,系统提供了对这几个方面进行控制的几个函数和对应的结构体,结构体数据用于填充参数,函数用于设置到系统中生效配置
icquu
·
2023-09-27 13:28
C基本代码学习
编程语言
人工智能
数据结构
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系统编程
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
内核编程
-qemu环境搭建
linux
内核编程
-qemu环境搭建1.背景最近想学习linux内核和驱动开发,但是不想买开发板,其实我觉得买了也买时间玩耍。
我想这条路
·
2023-09-24 01:59
#
linux综合
#
Android综合
linux
arm开发
嵌入式
【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学习日记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系统编程
】线程同步
------------->【
Linux系统编程
/网络编程】(学习目录汇总)#include#include#include#include#include#include#defineMAX100//
BillySturate
·
2023-09-19 03:25
Linux系统编程
c语言
linux
服务器
运维
Linux系统编程
6(线程互斥,锁,同步,生产消费模型)
上篇文章介绍完线程的概念后,我们将在这篇文章中初步探讨线程编程以及线程应用中的问题,这篇文章将以抢票系统为例,贯穿整篇文章。笔者将介绍在多线程编程中会出现的问题,什么是同步?什么是互斥?为什么多线程编程常有加锁的概念,什么又是生产者和消费者模型,读完这篇文章,你会得到相应的答案,笔者这里强烈建议各位把文中给出的demo示例自己实现一遍多线程这部分必须要理论和实操相结合,并不像前面虚拟地址空间,页表
浪雨123
·
2023-09-19 03:22
Linux(基础使用
系统编程
网络编程)
linux
服务器
《
Linux系统编程
训练营》8_Linux 终端与进程
详解控制台与终端有趣的问题:Linux的终端,控制台,TTY,PTY究竟是什么?它们与进程有什么关系?历史回顾:控制台控制台是一个直接控制设备的面板(属于设备的一部分)计算机设备的控制台:按键&指示灯(键盘&显示器)早期的电子计算机必然有一个控制台历史回顾:终端(Terminal)终端是一台独立于计算机的机器,是能够用来和计算机进行交互的设备TTY--即:TeleTypeWriter电传打字机,一
·
2023-09-18 21:57
linux
【Linux操作系统】基于消息队列的银行管理系统<客户端>代码详细分析
这是一个基于信息队列的银行管理系统客户端的项目代码详细讲解,主要介绍了开户、存款、取款等等任务在客户端的运行,代码比较简单,但是每一段代码都进行了详细的讲解,源代码主要来源于:
Linux系统编程
阶段项目
嵌入式小白—小黑
·
2023-09-18 20:06
从FreeRTOS到Linux
linux
运维
服务器
《
Linux系统编程
训练营》7_进程创建大盘点
vfork与进程创建进程创建回顾intcreate_process(char*path,char*args[],char*env[]){intret=fork();if(ret==0){execve(path,args,env);}returnret;}问题:进程创建是否只能依赖于fork()和execve()函数?再论进程创建fork()通过完整复制当前进程的方式创建新进程execve()根据参
·
2023-09-18 16:10
linux
《
Linux系统编程
训练营》6_深入 Linux 系统
进程的数据输入输出问题:进程参数和环境变量对于进程意味着什么?进程参数和环境变量的意义一般情况下,子进程的创建是为了解决某个子问题子进程解决问题需要父进程"数据输入"(进程参数&环境变量)设计原则:子进程启动时必然用到的参数使用进程参数传递子进程解决问题可能用到的参数使用环境变量传递思考:子进程如何将结果返回父进程?#includeintmain(){printf("Test:HelloWorld
·
2023-09-18 16:01
linux
《
Linux系统编程
训练营》5_环境变量编程
初识环境变量问题:环境变量是什么?有什么意义?intcreate_process(char*path,char*args[]){intret=fork();if(ret==0){execve(path,args,NULL);}returnret;}main函数(默认进程入口)intmain(intargc,char*argv[],char*env[])argc命令行参数个数(启动参数)argv[]
·
2023-09-18 16:55
linux
汇编指令概述 AT&T汇编基本语法
CMU15213_课件深入理解计算机系统-笔记-第一章-计算机系统漫游uCoreOS实验指导书和源码网址(2017)How-to-Make-a-Computer-Operating-System各章节代码
linux
Z初的梦想
·
2023-09-17 12:24
汇编
文章汇总 | 老板们,周末愉快
Linux系统编程
篇Linux-C编程|3分钟快速了解信号驱动式IOLinux-C编程/进程通信/实现基于SysV消息队列的文件服务器Linux-C编程/多线程/一个简洁可靠的线程池实现Linux-C编程
老吴的嵌入式之旅
·
2023-09-17 10:15
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他