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系统编程
-进程(一)进程概念、进程数据结构、进程状态变迁、进程创建和撤销
一、什么是进程从用户角度来说,进程是程序的一次动态执行过程;从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。每一个进程都有自己独立的地址空间与执行状态。二、进程数据结构进程包含以下结构:代码段+数据段+堆栈段+PCB(进程控制块)PCB:用于描述进程情况及控制进程运行所需的全部信息。代码段:是进程中能被进程调度程序在CPU上执行的程序代码段。数据段:一个进程的数据段,
Tianttt
·
2020-09-10 17:22
Linux系统编程
Linux系统编程
获取指定接口的IPv6地址
在Linux系统中需要编程获取某个接口的IPv4地址比较常见,可以使用ioctl函数等方法,但是要获取IPv6地址,以前的一些方法就不一定适合,从网上查找了很多方法,有两种我试过都可以得到相应的IPv6地址,此处直接以一段代码做示例展示如何获取指定接口的(IPv6)本地链路地址(注意,前提是你的Linux支持IPv6,目前流行的大多数Linux系统早已支持IPv6).#include#includ
h_cszc
·
2020-09-10 13:25
linux
Linux系统编程
-线程
全文内容来源于《UNIX环境高级编程-第三版》文章目录线程创建线程终止取消线程线程清理处理程序进程线程原语对比线程分离线程同步互斥量-mutex读写锁条件变量自旋锁屏障线程创建#includeintpthread_create(pthread_t*restricttidp,constpthread_attr_t*restrictattr,void*(*start_rtn)(void*),void*
bdAsk
·
2020-08-26 08:02
004-Linux
linux系统编程
-day09-进程管理(1)
进程是Unix系统中仅次于文件的基本抽象概念。当目标代码执行的时候,进程不仅仅包括汇编代码,它由数据、资源、状态和一个虚拟的计算机组成。进程ID每个进程都由一个唯一的标识符表示,即进程ID,简称pid。系统保证在某时刻每个pid是唯一的。空闲进程(idleprocess)——当没有其他进程在运行时,内核所运行的进程——它的pid是0。在启动后,内核运行的第一个进程称为init进程,它的pid是1。
桔子满地
·
2020-08-26 07:33
Linux C 编程一站式学习记录(一)- 编程思想
书籍囊括了程序设计基本思想和开发调试方法,以Linux平台为载体介绍C语言基础及程序工作原理,
Linux系统编程
,对计算机组成、C语言、操作系统、编译原理等课程知识达到融汇贯通。
长赢之路
·
2020-08-26 07:12
读书笔记
Linux系统编程
10:Socket编程3-网络模型
1.OSI七层模型No.模型功能1物理层比特流传输2数据链路层网络控制、链路纠错3网络层寻址,路由4传输层建立主机端到端的连接5会话层建立、维护和管理会话6表示层格式转化,加密解密7应用层提供应用程序间通信1.1常见物理层协议No.模型e.g.1串口/COM口RS-232(仪表接口,智能仪表);RS-485(联网仪表接口)2并行/LPT口IEEE1284(打印口,打印机扫描仪)3USBUSB2.0
jdzhangxin
·
2020-08-25 08:20
关于
LINUX系统编程
架构问题——4412 camera V4L2 RTMP流工程源码分析
在程序猿界混迹了多年,一直有个苦恼的问题,不管是什么样子的编程,最早的汇编,后来C语言,又接触了JAVA,始终有个念头就是整体程序架构问题,不管是你自己用不用操作系统,都要有一套很出色的编程模板。当然自己能搞出来的绝对是要花费大把时间,然而对于工作而言时间确实是非常奢侈的东西。那么,另一种方法就出现了,“抄袭”,但抄袭也是要自己有两把刷子的,而且要有广阔的眼界,有了眼界你才能找到多种多样的模式,模
阿龙.CaRn
·
2020-08-24 11:22
Linux
编程架构
Linux系统编程
10:Socket编程1-概念
1.套接字1.1什么是socketsocket是一个编程接口socket是一种特殊的文件描述符everythinginUnixisafile1.2协议域domainNo.参数含义1AF_INETIPv42AF_INET6IPv63AF_LOCALUnix域1.3类型typeNo.类型Type作用说明1流式套接字SOCK_STREAM提供面向连接、可靠的数据传输服务,数据按字节流、按顺序收发,保证在
jdzhangxin
·
2020-08-24 05:30
Linux系统编程
:多线程交替打印ABC
引言分享关于线程的一道测试题,因为网上基本都是Java的解决方法,决定自己写一篇来记录一下线程的学习。问题描述编写一个至少具有三个线程的程序(称之为线程A、B和C),其中线程A输出字符’A’,线程B输出字符’B’,线程C输出字符’C’。使得最终输出结果为“ABCABCABC…”。思路拿到这题后,我的想法是把问题简化。原题让我们交替打印ABC,那么我们只要先考虑如何交替打印AB即可,然后在B之后衔接
NiXGo
·
2020-08-24 02:34
多线程
linux
操作系统
c语言
Linux系统编程
与网络编程——进程介绍与进程环境变量(六)
前言Linux里的进程都是通过拷贝而来的什么是进程程序是一个包含可执行指令的文件,而进程是一个开始执行但还没有结束的程序的实例。进程的标准定义是:“进程是一个具有独立功能的程序关于某个数据集合的一次可以并发执行的运行活动,是处于活动状态的计算机程序”。每个进程启动的时候都会申请一个进程控制块(PCB),里面保存了很多信息,以下只列出了一小部分,如图:taststruct简介为了让linux来管理系
努力工作的帅呀帅
·
2020-08-22 16:38
Linux
【
Linux系统编程
】普通用户绑定(bind)特权端口
有些知识不常使用真的容易忘啊,即使没有忘记,知识提取速度也够下午茶的。背景最近在学Haskell,今天用Haskell的Network.Socket模块实现了一个简单的基于TCP的daytime服务程序。程序运行阶段报了以下的错误:Network.Socket.bind:permissiondenied(Permissiondenied)我的第一反应怀疑是不是本地有服务程序占用端口号13,然后用命
ideami
·
2020-08-22 11:07
port
端口
bind
socket
linux编程
linux信号捕捉和sigaction函数和sigqueue函数
关于学习
linux系统编程
的一定想法学习
linux系统编程
其实就是学习一对API函数,掌握一些进程线程网络的概念,为linux服务器编程和linux网络编程打基础。
J-zin
·
2020-08-22 11:56
linux
linux系统编程
之信号(六):信号发送函数sigqueue和信号安装函数sigaction
一,sigaction()#includeintsigaction(intsignum,conststructsigaction*act,structsigaction*oldact));sigaction函数用于改变进程接收到特定信号后的行为。该函数的第一个参数为信号的值,可以为除SIGKILL及SIGSTOP外的任何一个特定有效的信号(为这两个信号定义自己的处理函数,将导致信号安装错误)。第二
weixin_34018169
·
2020-08-22 11:29
Linux系统编程
socket套接字网络编程
这里写目录标题TCP/UDP对比字节序socket套接字网络编程步骤:函数原型:示例Server:Client-side:运行结果:FTP简易版Server:Client-side:TCP/UDP对比1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽
~莘莘
·
2020-08-22 09:36
Linux系统编程
linux
Linux系统编程
信号高级版sigaction函数
sigaction函数原型#includeintsigaction(intsignum,conststructsigaction*act,structsigaction*oldact);structsigaction{void(*sa_handler)(int);void(*sa_sigaction)(int,siginfo_t*,void*);sigset_tsa_mask;intsa_flag
~莘莘
·
2020-08-22 09:12
Linux系统编程
linux
Linux系统编程
--- 如何列出一个目录下面的所有文件
linux平台可以使用opendir函数来打开一个目录,用readdir读取目录当中的一个entry(一个entry可以是子目录,文件,软硬链接等),如果需要读取所有目录下面的文件,需要使用while((entry=readdir(dp)))来读去每个entry,直到读取的entry==NULL。还有需要注意的就是目录打开之后,需要自己关闭的,可以调用closedir(DIR*)来关闭,这个和文件
米狗族
·
2020-08-22 02:48
Linux
黑马《
linux系统编程
》学习笔记(从46到50)
四十六.没有血缘关系的进程间通信_mmapmmap_r_ipc.c#include#include#include#include#include#include#include#include#includeintmain(intargc,constchar*argv[]){intfd=open("temp",O_RDWR|O_CREAT,0664);fruncate(fd,4096);intl
garrulousabyss
·
2020-08-21 14:04
Linux网课笔记
黑马《
linux系统编程
》学习笔记(从81到85)
八十一.线程为什么要加锁八十二.死锁八十三.读写锁的特性八十四.读写锁的使用场景八十五.读写锁操作函数
garrulousabyss
·
2020-08-21 14:04
Linux网课笔记
黑马《
linux系统编程
》学习笔记(从56到60)
五十六.setitimer定时器函数的使用五十七.阻塞信号集和未决信号集的关系比如说我们要阻塞某些进程,先在自定义信号集中指定0或者1,再把自定义信号集,写进阻塞信号集。五十八.读当前进程的未决信号集这里首先是signal_set.c#include#include#include#include#include#include#includeintmain(intargc,constchar*a
garrulousabyss
·
2020-08-21 14:04
Linux网课笔记
Linux详细知识图谱
整个Linux学习框架分为三大部分1.常见命令、常用工具2.
Linux系统编程
3.Linux网络编程如下图所示是整个Linux知识思维导图:如果图片看不清,可以找我要原图哦!
风尘与云
·
2020-08-21 11:54
【Linux编程】守护进程(daemon)详解与创建
本文主要参考自:
linux系统编程
之进程(八):守护进程详解及创建,daemon()使用一、概述Daemon(守护进程)是运行在后台的一种特殊进程。
daydayup
·
2020-08-21 08:56
linux
linux系统编程
---exec族函数、system函数、popen函数
一、exec族函数exec族函数函数的作用:我们用fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时,该进程被完全替换为新程序。因为调用exec函数并不创建新进程,所以前后进程的ID并没有改变。exec族函数定义:功能:在调用进程内部执行一个可执行文件。可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。函数族:exec函数族
一个编程的小渣渣
·
2020-08-21 06:07
Linux系统编程
Linux系统编程
—文件编程(open、write、read、lseek的用法)
Linux文件编程open、write、read以及光标lseek的用法常用对文件编程的操作如open、read、write1.open用法2.write用法3.read用法4.补充说明读数据光标(lseek)位置处理5.其他函数的补充1.open的用法参数说明:intopen(constchar*pathname,intflags);intopen(constchar*pathname,intf
一个编程的小渣渣
·
2020-08-21 06:37
Linux系统编程
C++后端工程师需要看的书籍
primer》《深度探索C++对象模型》《EffectiveC++》《moreeffectiveC++》《STL源码剖析》多线程编程书籍《C++并发编程实战》Linux:《鸟哥的Linux私房菜》《UNIX/
linux
weixin_30571465
·
2020-08-21 06:07
Java后端开发推荐书单
《
Linux系统编程
第2版》继续是RobertLove,比起APUE也是以薄见长,专门针对重要的系统调用讲
_LDL
·
2020-08-21 02:56
web
WIFIDOG 源码解析
WIFIDOG源码解析openwrtwifidog是我linuxc语言编程的启蒙项目,一年前折腾此项目大半年,从此爱上了
linux系统编程
。现在看来,这是一个再简单不过的linuxc语言项目了。
dengleileicn
·
2020-08-20 18:00
openwrt
[zt] Linux 下几个文件操作命令的代码实现
加深读者对操作系统的认识与理解,引导读者学习
Linux系统编程
。本文章中的示例代码是在CentOS5.464位环
pisheng
·
2020-08-20 17:40
第四十七节
Linux系统编程
-网络通信-套字节TCP(一)
-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.第一:实战网络通信-套字节TCP--TCP协议和UDP协议是5层网络协议传输层最重要的协议--TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务现在看一下基于TCP/IP应用程序通信的流程,如下图通过上图可以看到TCP/IP通信是基于服务器/客户端的模式来实现
嵌入式开发学习者
·
2020-08-20 01:43
第四十九节
Linux系统编程
-搭建web服务器(一)
-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.第一:实战搭建web服务器本章来学习利用iTOP-4412开发板搭建一个web服务器。需要用到boa,boa是一个小型的web服务器,可执行代码只有约60KB,可以用于多种平台,它一个单任务web服务器,只能依次完成用户的请求,在嵌入式中比较常见。boa的官方网站为www.
嵌入式开发学习者
·
2020-08-20 01:43
第四十六节
Linux系统编程
-进程通信-共享内存(六)
-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.第一:共享内存shmdata共享内存是进程间通信中最简单的方式之一。共享内存在各种进程间通信方式中具有最高的效率。因为系统内核没有对访问共享内存进行同步,您必须提供自己的同步措施。解决这些问题的常用方法是通过使用信号量进行同步。使用man学习shmget等函数1)如下图所示
嵌入式开发学习者
·
2020-08-20 01:43
第四十八节
Linux系统编程
-网络通信-套接字UDP(二)
-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.第一:实战网络通信-套接字UDP1)UDP是用户数据报协议,它是一种无连接的传输层协议,提供面向事物的简单不可靠信息传送服务,所以在一些网络质量不满意的环境下,UDP协议数据包丢失会比较严重,会造成数据的丢失。2)UDP的特点是它不属于连接型协议,所以资源消耗小。处理速度快
嵌入式开发学习者
·
2020-08-20 01:43
第四十五节
Linux系统编程
-进程通信-信号量(五)
-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.第一:信号和信号量1)信号与信号量是不同的两种事物。2)信号量是用来调协进程对共享资源的访问的。为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地
嵌入式开发学习者
·
2020-08-20 01:11
LINUX 中的mmap浅析
原创
LINUX系统编程
水平有限,参考UNIX系统编程手册LINUX中的mmap浅析一、mmap基本原理和分类在LINUX中我们可以使用mmap用来在进程虚拟地址空间中分配创建一片虚拟内存地址映射其可以是
cri5768
·
2020-08-20 00:52
Linux IPC进程间通信(三):信号量
LinuxIPC进程间通信(二):共享内存LinuxIPC进程间通信(三):信号量LinuxIPC进程间通信(四):消息队列文章目录前言信号量的使用信号量的用法一:互斥锁信号量的用法二:计数信号量此篇文章参考于:
Linux
Worthy_Wang
·
2020-08-19 23:20
Linux
Linux IPC进程间通信(四):消息队列
一):管道LinuxIPC进程间通信(二):共享内存LinuxIPC进程间通信(三):信号量LinuxIPC进程间通信(四):消息队列文章目录前言消息队列的使用案例一:亲属进程间的通信本篇文章参考于:
Linux
Worthy_Wang
·
2020-08-19 16:21
Linux
【
Linux系统编程
应用】 Linux Input子系统(一)
1.什么是输入子系统?输入子系统是Linux内核用于管理各种输入设备(键盘,鼠标,遥控杆,书写板等等)的部分,用户通过输入子系统进行内核,命令行,图形接口之间的交换。输入子系统在内核里实现,因为设备经常要通过特定的硬件接口被访问(例如串口,ps/2,usb等等),这些硬件接口由内核保护和管理。内核给用户导出一套固定的硬件无关的inputAPI,供用户空间程序使用。2.理解内核内部实现输入子系统分为
沧海一笑-dj
·
2020-08-19 00:21
Linux系统网络编程
Linux环境高级编程
学习一点技术好恰饭
文章目录Markdown常用语法一、面试二、编程语言1.C/C++(1)C和C++进阶的学习笔记总结目录(2)
Linux系统编程
(3)C语言开源项目(4)C++开源项目(5)Linux运维2.java3
简单生活,简单爱
·
2020-08-18 16:39
面试准备
【
linux系统编程
学习笔记】第九节:线程的属性设置—线程优先级(pthread_attr_setinheritsched调度策,pthread_attr_setschedparam设置静态优先级)
线程优先级属性线程优先级属性pthread_attr_setinheritsched设置线程是否继承父线程调度策略pthread_attr_setschedpolicy设置线程的调度策略pthread_attr_setschedparam设置静态优先级获取静态优先级的最小值与最大值的函数例程:测试分离属性以及栈大小例程:测试优先级线程优先级属性在任务的概念当中由于运行的需求,我们常常需要给任务一定
浣熊会咬人
·
2020-08-18 16:38
Linux
系统编程
使用visual studio 2019进行
Linux系统编程
使用visualstudio2019进行
Linux系统编程
首先打开:修改、安装Linux工具:新建Linux工程、远程连接Linux服务器、配置编译器:项目属性配置:Ubuntu系统安装工具:目标Linux
胡子拉碴叔
·
2020-08-18 05:04
嵌入式Linux系统开发
Linux系统编程
(Linux系统调用)
系统调用概述这系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内核,待内核把请求
小麦大大
·
2020-08-18 01:59
linux网络与系统编程
Linux系统编程
:验证kernel内核缓存区大小->4096字节
使用的APIread/write函数常常被称为UnbufferedIO。指的是无用户缓存区。但不保证不使用内核缓存区。我们可以用来验证内核缓存区的大小是不是4096字节。这里我们还用一个系统函数dup2文件描述符重定向函数,来实现从终端输入直接输出到文件中。验证内核缓存区大小思路很简单,就是测试4096这个临界点。首先往文件中写4096个字节,查看数据是否写入到磁盘文件,从终端读入数据,缓存区40
李四老师
·
2020-08-17 13:58
【Language_C】
Linux系统编程
之——守护进程代码
/*************************************************************************>FileName:Daemon.c>Author:张泽锋>Mail:
[email protected]
>CreatedTime:2019年05月06日星期一21时45分57秒>代码功能:守护进程>简要流程描述:1.创建子进程,父进程退出;2.在子进程中
捂上眼睛看世界
·
2020-08-16 16:06
linux系统编程
Linux系统编程
之——实现ls-l命令
功能描述:仿写ls-l的功能(编写myls_l程序),参数通过命令行传入:1、获取当前工作目录路径并对该目录实现遍历。2、仿ls-l以列表形式出当前工作目录下的所有文件(包括子目录)需显示的文件属性。知识要点✓Linux目录操作方法–打开目录、关闭目录✓读取目录文件✓Linux文件属性获取✓文件属性解析相关的重要数据结构、函数、宏和文件掩码源代码/*************************
捂上眼睛看世界
·
2020-08-16 16:06
linux系统编程
Linux系统编程
读写锁和条件变量使用
Linux系统编程
读写锁和条件变量使用文章目录1.读写锁概念2.条件变量的概念和使用1.读写锁概念1.读写锁的适用场景?
捉虫~拖鞋底
·
2020-08-16 07:46
走进 C/C++后台开发的第二步:
Linux系统编程
Linux系统编程
一.文件操作编程1.1基于文件指针的文件操作1.1.1Linux的文件1.1.2文件的创建,打开与关闭1.1.3读写文件1.1.4修改文件的权限1.2目录操作1.2.1:获取改变当前工作目录
Handling[韩镇江]
·
2020-08-15 20:33
走进
C/C++后台开发
内核
操作系统
linux
c++
c语言
Linux系统编程
-信号入门3
早,继续记录我的学习心得。机械的练习:只是埋头干!我一直在挥着球拍,努力去击球。我一直在看这道数学题,正试着解答。我一直在重复写代码,试图成为技术大牛。有准确目的的练习:意味着要比机械的练习更有目的性,考虑更周全,从而让自己变得更专注。以玩模拟赛车acc为例,怎么样才算是有准确目的的练习:比较明确的目标:每天跑圈提升0.5秒。更明确的目标:过某个弯提升多少速度。更更明确的目标:过某个弯时应在哪里刹
嵌入式Hacker
·
2020-08-15 17:30
「Linux 底层原理」理解进程内存布局,掌握程序动态
本文节选自达人课《攻克
Linux系统编程
》你写了一个多进程模型的服务器,但总感觉新进程启动地不干净,有时会有些父进程的东西掺和到子进程里来。
蔚1
·
2020-08-15 16:40
Linux
linux延时函数
1、
linux系统编程
中常用的延时函数-sleep、usleep等函数sleep是秒延时unsignedintsleep(unsignedintseconds);–例如:sleep(1),即延时一秒。
微尘hjx
·
2020-08-15 16:32
linux函数
第八节
Linux系统编程
-字符设备控制-led灯
-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.第一:字符类led灯1)在前面介绍open函数的时候,已经提到过如何打开字符类设备,获得句柄的方法和一般文件都是一样。Led灯的设备节点在/dev目录下,如下图所示,在超级终端可以使用ls命令查找。2)在前面介绍过,如果要给文件进行写操作,那么使用的是write函数。对于l
嵌入式开发学习者
·
2020-08-15 14:24
信号(三)——阻塞(信号屏蔽)与未决、sigset_t信号集、sigprocmask 和 sigpending 函数——
linux系统编程
文章目录信号在内核中的表示:递达(Delivery)、未决(Pending)、阻塞(Block)sigset_t信号集、信号集操作函数sigprocmask函数sigpending函数代码实例:sigprocmasksigprocmask+sigpending+sigismember设置信号处理函数不被指定(不同种)信号干扰(打断)信号在内核中的表示:递达(Delivery)、未决(Pending
z5z5z5z56
·
2020-08-14 22:15
linux
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他