Linux OS
主要看气质的搬砖者
生命在于运动,乐趣在于code,在01的世界里渐行渐远
展开
-
linux中文件描述符fd和文件指针flip的理解
简单归纳:fd只是一个整数,在open时产生。起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp。文件描述符的操作(如: open)返回的是一个文件描述符,内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件都将通过此表中的文件描述符来引用;而流(如: fopen)返回的是一个FILE结构指针, FILE结构是包含有文件描述符的,FILE结构函转载 2013-09-29 11:15:40 · 733 阅读 · 0 评论 -
【Linux学习】epoll详解
什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epol转载 2016-01-08 20:53:23 · 1543 阅读 · 0 评论 -
UNIX环境编程学习笔记—文件I/O之标准I/O流
1 标准 I/O 流之前学习的都是不带缓冲的 I/O 操作函数,直接针对文件描述符的,每调用一次函数可能都会触发一次系统调用,单次调用可能比较快捷。但是,对于需要频繁进行 I/O 操作的程序,频繁触发系统调用产生的消耗太大。标准 I/O 库提供了带缓冲的 I/O 操作函数,这些函数围绕着一种叫做流(stream)的东西进行。当使用标准 I/O 库打开或创建一个文件时,系统提供了一个转载 2015-12-10 14:49:05 · 617 阅读 · 0 评论 -
Linux Pthread 深入解析
Outline - 1.线程特点- 2.pthread创建- 3.pthread终止 - 4.mutex互斥量使用框架 - 5.cond条件变量 - 6.综合实例==============================================================================转载 2015-07-22 14:29:28 · 500 阅读 · 0 评论 -
Linux strsep() 用法
strsep(),作为strtok的升级版,是一个很有用的字符串处理函数man strsep:#include char*strsep(char **stringp, const char *delim);Be cautious when using this function. If you do use it, note that: This原创 2015-07-14 10:54:04 · 1881 阅读 · 1 评论 -
linux Posix线程同步(条件变量) 实例
条件变量实例 条件变量(Condtion Variable)是在多线程程序中用来实现“等待->唤醒”逻辑常用的方法。举个简单的例子,应用程序A中包含两个线程t1和t2。t1需要在bool变量test_cond为true时才能继续执行,而test_cond的值是由t2来改变的,这种情况下,如何来写程序呢?可供选择的方案有两种:第一种是t1定时的去轮询变量test_co转载 2015-05-14 17:25:44 · 2477 阅读 · 0 评论 -
采用dlopen、dlsym、dlclose加载动态链接库【总结】
1、前言 为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作方法,关于动态链接库的本质及如何加载进来,需要进一步学习,后续继续补充。如何将程序设计为插件形式,挖掘出主题和业务之间的关系,需要进一转载 2015-05-16 18:43:32 · 456 阅读 · 0 评论 -
Socket通信 listen accept 函数
在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求。这个套接字不能用于与客户端之间发送和接收数据。 accept()接受一个客户端的连接请求,并返回一个新的套接字。所谓“新的”就是说这个套接字与socket()返回的用于监听和接受客户端的连接请求的套接字不是同一个套接字。与本次接受的客户端的通信是通过在这个新的套接字上发送和接收数据来完成转载 2015-03-10 20:32:52 · 1062 阅读 · 0 评论 -
linux中select使用方法
转载自: linux中select使用方法select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。 文件在句柄在Linux里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到“On succe转载 2015-03-03 18:16:02 · 574 阅读 · 0 评论 -
Linux命令简介
1 Linux命令简介1.1 命令格式[python] view plaincopy[root@test root]# command [-options] parameter1 parameter2 ... 指令 选项 参数(1) 参数(2) 说明:1. 提示符:root账户提转载 2013-12-05 13:25:51 · 4216 阅读 · 0 评论 -
linux操作系统下 c语言编程入门
linux操作系统下c语言编程入门(一)目录介绍1)Linux程序设计入门--基础知识2)Linux程序设计入门--进程介绍3)Linux程序设计入门--文件操作4)Linux程序设计入门--时间概念5)Linux程序设计入门--信号处理6)Linux程序设计入门--消息管理7)Linux程序设计入门--线程操作8)Linux程序设计入门--网络转载 2013-12-06 18:35:14 · 2580 阅读 · 1 评论 -
Linux进程间通信——使用共享内存
最近在看Linux进程间通讯,看到一篇好的博客,转载只是为了记录。大家可以到原博客查看更全面的信息http://blog.csdn.net/ljianhui/article/details/10253345下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正转载 2016-01-14 20:14:45 · 1286 阅读 · 0 评论