![](https://img-blog.csdnimg.cn/52283157870549feb4060dea0715b2e5.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
linux系统编程
文章平均质量分 80
linux系统编程,一些系统函数了解
Flynnsin
这个作者很懒,什么都没留下…
展开
-
system-V 消息队列
目录system-V ipc特点消息队列用法消息队列函数ftok函数msgget函数msgsnd函数msgrcv函数msgctl函数实现代码msg_recvmsg_send实验现象system-V ipc特点独立于进程没有文件名和文件描述符IPC对象具有key和ID消息队列用法定义一个唯一key(ftok)构造消息对象(msgget)发送特定类型消息(msgsnd)接受特定类型消息(msgrcv)删除消息队列(msgctl)消息队列函数ftok函数功能:获取一个key函数原创 2021-11-02 12:54:27 · 387 阅读 · 0 评论 -
FIFO有名管道
这里写目录标题说明函数流程实现现象说明无名管道,它只能用于具有亲缘关系的进程之间,这就大大地限制了管道的使用。有名管道的出现突破了这种限制, 它可以使互不相关的两个进程实现彼此通信。该管道可以通过路径名来指出,并且在文件系统中是可见的。在建立了管道之后,两个进程就可以把它当作普通文件一样进行读写操作,使用非常方便。不过 FIFO 是严格地遵循先进先出规则的,对管道及 FIFO 的读总是从开始处返回数据,对它们的写则把数据添加到末尾,它们不支持如 lseek()等文件定位操作。有名管道的创建可以使原创 2021-10-30 18:05:23 · 396 阅读 · 0 评论 -
system-V 信号量
目录本质作用信号量用法semget函数semctl函数semop函数实现代码实验现象本质计数器作用保护共享资源互斥同步信号量用法定义一个唯一key(ftok)构造一个信号量(semget)初始化信号量(semctl SETVA)对信号量进行P/V操作(semop)删除信号量(semctl RMID)semget函数功能:获取信号量的ID函数原型:int semget(key_t key,int nsems,int semflg)参数:key:信号量键值nse原创 2021-11-02 13:29:06 · 216 阅读 · 0 评论 -
守护进程实现
守护进程引入及概念流程1、fork()创建子进程,父进程exit()退出;2、在子进程调用setsid()创建新会话;3、在子进程中调用chdir()让根目录“/”成为子进程的工作目录;4、在子进程中调用umask()重设文件权限掩码为0;5、在子进程中close()不需要的文件描述符;实现引入及概念守护进程的引入其一大原因还是普通进程不可靠,防止进程死掉,普通进程是绑定终端的,其终端退出就死掉了。守护进程(Daemon Process),也就是通常说的 Daemon 进程(精灵进程),是 Linux原创 2021-10-30 16:56:59 · 379 阅读 · 0 评论 -
linux信号
目录信号列表常用信号分析signal_kill_raise函数signal函数signal函数实现kill函数raise函数kill_raise函数实现信号列表常用信号分析信号名信号编号产生原因默认处理方式SIGHUP1关闭终端终止SIGINT2ctrl+c终止SIGQUIT3ctrl+\终止+转储SIGABRT6abort()终止+转储SIGPE8算术错误终止SIGKILL9kill -9 pid终止,不可捕原创 2021-10-31 13:45:37 · 73 阅读 · 0 评论 -
pipe无名管道
pipe无名管道说明流程实现说明1.管道是创建在内存中,进程结束空间释放,管道不复存在。2.无名管道和有名管道都是半双工通信,实现双向通信需要建立两个管道。3.无名管道是linux特殊文件,。4.无名管道只用于父子进程之间,有名管道可用于无亲缘关系的进程之间。流程实现#include <sys/types.h>#include <unistd.h>#include <string.h>#include <stdlib.h>#inclu原创 2021-10-30 17:38:27 · 107 阅读 · 0 评论 -
system-V 共享内存
目录作用共享内存用法shmget函数shmat函数shmdt函数shmctl函数实现代码实验现象作用高效率传输大量数据共享内存用法定义一个唯一key(ftok)构造一个共享内存对象(shmget)共享内存映射(shmat)解除共享内存映射(shmdt)删除共享内存(shmctl RMID)shmget函数功能:获取共享内存对象的ID函数原型:int shmget(key_t key,int size,int shmflg)参数:key:共享对象键值nsems:共享内存大原创 2021-11-02 17:57:21 · 73 阅读 · 0 评论 -
高级I/O
高级I/O使用原创 2022-03-08 21:50:37 · 345 阅读 · 0 评论 -
Linux线程同步
线程同步,为什么要线程同步,互斥锁,条件变量,自旋锁,自旋锁与互斥锁的区别,读写锁原创 2022-02-22 14:58:59 · 150 阅读 · 0 评论 -
Linux线程
线程的概念,使用场景,并发,线程的创建,退出,取消,回收,分离,注销,安全,perror与strrror的使用区别。原创 2022-02-12 13:08:10 · 1202 阅读 · 0 评论