linux
文章平均质量分 89
苡茹
这个作者很懒,什么都没留下…
展开
-
Linux指令
一. 当我们进入一个目录时,我们需要让此目录具有可执行权限,我们才可以进入此目录当我们在目录中touch(创建)一个文件时,我们需要该目录具有wx权限当我们在目录中执行ls时,我们需要该目录具有rx权限当我们在目录中执行rm时,我们需要该目录具有wx权限当我们在目录中执行mv时,我们需要该目录具有wx权限二. Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr...原创 2018-02-28 17:12:15 · 192 阅读 · 0 评论 -
I/O多路转接---poll
I/O多路转接---pollA>poll函数接口#include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout); // pollfd结构 struct pollfd { int fd; /* file descriptor */ short events; ...原创 2018-06-26 00:17:33 · 198 阅读 · 0 评论 -
传输层---深入理解UDP/TCP协议
传输层---初识UDP/TCP协议传输层:负责数据能够从发送端传输到接收端我们先来看一下端口号: 1> 端口号(port)标识了一个主机上进行通信的不同应用程序. 在TCP/IP当中,用"源IP","源的端口号","目的IP","目的端口号","协议号"这五元组来标识一个通信.2> 端口号范围划分 0-1023:知名端口号,HTTP,FTP,SSH等这些广为使用的原创 2018-06-24 15:22:43 · 394 阅读 · 1 评论 -
高级IO--五种IO基本模型
高级IO--五种IO基本模型 A>阻塞IO a>阻塞IO:在内核将数据准备好之前,系统调用会一直等待,所有的套接字,默认是阻塞的方式. b>阻塞Io模型. B>非阻塞IO a>非阻塞IO:在内核将数据准备好之前,系统仍然然会返回,返回的是EWOULDBLOCK错误码.(非阻塞IO往往需要程序员...原创 2018-06-07 18:21:51 · 468 阅读 · 0 评论 -
I/O多路转接---select
初始select系统提供select函数来实现多路复用输入/输出模型select系统调用是用来监视多个文件描述符的状态变化的程序会停在select这里等待,直到被监视的文件描述符有一个或者多个发生了变化.select函数原型selsect函数原型#include<sys/select.h>int select(int nfds,fd_set *readfds,fd_set*write...原创 2018-06-24 15:31:28 · 230 阅读 · 0 评论 -
linux信号----信号阻塞
linux信号----信号阻塞信号在内核中的表示:信号在内核中一般有三种状态:1)信号递达(Delivery):实际执行信号的处理动作称为信号递达。2)信号未决(Pending):信号从产生到递达之间的状态。3)信号阻塞(Block):被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作。注意:阻塞与忽略是不同的,只有信号被阻塞就不会递达,而忽略是在递达之后可选的一种处...原创 2018-05-16 17:20:51 · 326 阅读 · 0 评论 -
信号初识
系统定义的信号列表: [axia@localhost sharememry]$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 1...原创 2018-05-11 17:37:56 · 204 阅读 · 0 评论 -
网络编程套接字---UDP TCP
网络编程---UDP TCP 认识socket netstat -nltp 查看网络服务 socket可以看成是用户进程与内核网络协议栈的编程接口。 socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信。 socket API是一层抽象的网络编程接口,适用于各种底层网络协议,如IPv4、IPv6 认识UDP协议(传输控制协议) ...原创 2018-05-17 08:16:27 · 342 阅读 · 0 评论 -
进程间关系和守护进程
进程组/作业/会话1.进程组每个进程除了有一个进程ID之外,还属于一个进程组.进程组是一个或多个进程的集合.通常,它们与同一作业相关联,可以接收来自同一终端的各种信号.每一个进程组有一个唯一的进程组ID,每一个进程组都可以有一个组长进程.组长进程的标识是进程ID与进程组ID相同.组长进程可以创建一个进程组,这个进程组中 只要有一个进程 存在,这个进程组就存在。与组长进程是否存在无关. 2.作业sh...原创 2018-05-09 23:45:15 · 152 阅读 · 0 评论 -
进程间通信---管道
进程间通信----(IPC)InterProcess Communication一:管道管道(包括无名管道和命名管道),通常指无名管道,是 UNIX 系统IPC最古老的形式。[含义]:管道是一个进程的数据流到另一个进程的通道,即一个进程的数据的输出作为另一个进程的数据的输入,管道起到了桥梁的作用。比如:当我们输入: ls -l | cat test .其中ls和cat是两个进程,|代表管道,意思是...原创 2018-05-01 19:36:54 · 158 阅读 · 0 评论 -
linux下实现进度条
linux下实现进度条-----首先我们得了解一下进度条的原理1.全缓冲 ,全缓冲指的是系统在填满标准IO缓冲区之后才进行实际的IO操作;注意,对于驻留在磁盘上的文件来说通常是由标准IO库实施全缓冲。 2.行缓冲,在这种情况下,标准IO在输入和输出中遇到换行符时执行IO操作;注意,当流涉及终端的时候,通常使用的是行缓冲。 3.无缓冲,无缓冲指的是标准IO库不对字符进行缓冲存储;注意,标准出错流st...原创 2018-03-27 18:33:53 · 642 阅读 · 0 评论 -
进程间通信----信号量
进程间通信----信号量Linux中的内存空间分为系统空间和用户空间。在系统空间中:由于各个线程的地址空间是共享的,即一个线程可以随意访问 kernel中的任意地址,所以无需进程通信机制的保护。而在用户空间中:每个进程都有自己的地址空间,一个进程要和另外一个进程通信,必须陷入到有足够权限访问其他进程的kernel中,从而与其他进程通信。信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个...原创 2018-03-27 18:15:59 · 332 阅读 · 0 评论 -
进程间通信---共享内存
进程间通信---共享内存 ------->双向通信 ------->仅是一块内存,可以随意写入数据 ------->无同步互斥 ------->生命周期随内核 -----共享内存是最快的IPC形式.共享内存的本质是物理内存,一旦这样的内存映射到共享它的进程的地址空间,这些空间不涉及内核.进程是一个独立的资源管理单元,不同进程间的资源是独立的,不能在一个进...原创 2018-03-26 19:24:41 · 279 阅读 · 0 评论 -
进程间通信----消息队列
Linux进程间通信——使用消息队列消息队列,就是一个消息的链表,是一系列保存在内核中消息的列表。用户进程可以向消息队列添加消息,也可以向消息队列读取消息。----->双向通信----->用于随意进程------>面向数据块(链表)------>自带同步互斥------->生命周期随内核消息队列与管道通信相比,其优势是对每个消息指定特定的消息类型,接收的时候不需要按照...原创 2018-03-25 19:15:52 · 452 阅读 · 0 评论 -
I/O多路转接---epoll
初始epollepoll是为处理大批量句柄而做改进的poll(句柄类似遥控器的作用)epoll几乎结合了poll的所有优点,并将poll的缺点加以改进.epoll相关的系统调用epoll的使用三个过程:* 调用epoll_create创建一个epoll句柄。* 调用epoll_ctl,将要监控的文件描述符进行注册。(用户告诉操作系统)* 调用epoll_wait,等待文件描述符就绪。(操作系统...原创 2018-07-04 13:28:49 · 237 阅读 · 0 评论