55.Linux/Unix 系统编程手册(下) -- 文件加锁

1.概述 1.flock() 给整个文件加锁 2.fcntl() 给一个文件区域加锁 2.flock() 常规方法: 1.给文件加锁 2.执行文件IO 3.解锁文件使得其他进程能够给文件加锁 混合使用加锁和 stdio 函数: 由于 stdio 库会在用户空间进行...

2018-10-29 00:13:18

阅读数 34

评论数 0

54.Linux/Unix 系统编程手册(下) -- POSIX 共享内存

1.概述 前面介绍了2种允许无关进程共享内存区域以便执行 IPC 的技术:System V 共享内存和共享文件映射。这2种技术都有一些不足: 1.System V 共享内存模型使用的是键和标识符,这与标准的 Unix IO 模型使用文件名和描述符的做法不一致。这种差异意味着, 使用 S...

2018-10-28 17:03:17

阅读数 22

评论数 0

53.Linux/Unix 系统编程手册(下) -- POSIX 信号量

1.概述 Posix 两种信号量: 1.命名信号量 这种信号量拥有一个名字。能够通过使用相同的名字调用 sem_open(), 不相关的进程能够访问同一信号量。 2.未命名信号量 这种信号量没有名字,相反,它位于内存中的一个预先商定好的位置。未命名的信号量可以在进程之间或一组线程...

2018-10-28 16:33:04

阅读数 29

评论数 0

52.Linux/Unix 系统编程手册(下) -- POSIX 消息队列

1.概述 fork() 子进程会接收其父进程的消息队列描述符的副本,并且这些描述符会引用同样的打开着的消息队列的描述。子进程不会 继承其父进程的任何消息通知注册。 当一个进程执行了 exec() 或终止时,所有其打开的消息队列描述符会被关闭。关闭消息队列描述符的结果是进程在相应队列上...

2018-10-28 15:48:08

阅读数 14

评论数 0

51.Linux/Unix 系统编程手册(下) -- POSIX IPC 介绍

1.介绍                          

2018-10-28 14:31:54

阅读数 17

评论数 0

50.Linux/Unix 系统编程手册(下) -- 虚拟内存操作

1.mprotect() 修改一块虚拟内存区域上的保护信息 如果一个进程在访问一块内存区域时违背了内存保护,内核会发送 SIGSEGV 信号。 2.内存锁: mlock() 和 mlockall() 将一块虚拟内存区域锁进物理内存,从而防止它被交换出去。 将一个进程的虚拟内存的部分或全...

2018-10-28 14:18:06

阅读数 12

评论数 0

49.Linux/Unix 系统编程手册(下) -- 内存映射

1.mmap() mmap()系统调用在调用进程的虚拟地址空间中创建一个新的内存映射。 映射分2种: 1.文件映射: 文件映射将一个文件的一部分直接映射到调用进程的虚拟内存中。 2.匿名映射: 一个匿名映射没有对应的文件。相反,这种映射的分页会被初始化为0. 一个进...

2018-10-28 02:33:56

阅读数 18

评论数 0

9.logstash

  demo : 收集 nginx 日志                                                  

2018-10-27 15:37:53

阅读数 34

评论数 0

8.Beats

1.简介   收集 nginx demo: nginx.yml:   运行命令: tail -f /data/log/nginx/access.log | filebeat -e -c /data/filebeat-6.4.2-linux-x...

2018-10-27 14:23:17

阅读数 58

评论数 0

7.ES 配置

如何区分环境: 以 network.host 是否绑定 localhost 为准                                                                    ...

2018-10-26 23:47:55

阅读数 136

评论数 0

5.中小型企业通用自动化运维架构 -- ELK

1.简介   2.安装 elasticsearch 安装 cnpm install cnpm run start http://192.168.0.105:9100/   logstash 安装:   kibana...

2018-10-26 00:27:22

阅读数 485

评论数 0

4.程序员的自我修养---静态链接

1.空间和地址的分配 可执行文件中的代码段和数据段都是由输入的目标文件中合并而来的。对于多个输入的目标文件,链接器如何将它们的各个段合并到输出文件的? 1.按序叠加 这样做会造成一个问题,在有很多输入文件的情况下,输出文件将会有很多零散的段。这样做非常浪费地址空间,因为每个段都要求有一...

2018-10-23 11:12:10

阅读数 55

评论数 0

4.中小型企业通用自动化运维架构 -- zabbix

1.zabbix 安装 1.安装源 rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm 2.安装 yum install zabbix-server-...

2018-10-21 23:55:48

阅读数 786

评论数 0

3.中小型企业通用自动化运维架构 -- Ansible playbook

实战: --- - hosts: test remote_user: root tasks: - name: Hello World shell: ls /root --- - hosts: test remote_u...

2018-10-21 22:40:43

阅读数 545

评论数 0

48.Linux/Unix 系统编程手册(下) -- System V 共享内存

1.概述 共享内存允许2个或多个进程共享物理内存的同一块区域(通常被称为段)。由于一个共享内存会称为一个进程用户空间内存的一部分, 因此这种 IPC 机制无需内存介入。 shmget(); shmat(); shmdt(); shmctl(); ...

2018-10-21 17:26:50

阅读数 26

评论数 0

47.Linux/Unix 系统编程手册(下) -- System V 信号量

1.概述 semget(); semctl(); semop(); semtimedop(); ...

2018-10-21 15:25:03

阅读数 21

评论数 0

46.Linux/Unix 系统编程手册(下) -- System V 消息队列

1.简介 与管道的区别: 1.用来引用消息队列的句柄是一个由 msgget() 调用返回的标识符。区别与UNIX系统上其他形式IO所使用的文件描述符。 2.通过消息队列进行通信是面向消息的,管道是无法进行区分的字节流 3.除了包含数据外,每条消息还有一个整数表示类型。 msgge...

2018-10-21 14:05:46

阅读数 22

评论数 0

45.Linux/Unix 系统编程手册(下) -- System V IPC 介绍

1.System V IPC 介绍 1.消息队列 消息队列是用来进程之间传递消息的,与管道有点像,但存在2个重要的差别。 1.消息队列存在边界 2.每条消息都包括一个整形的type 字段,并且可以通过类型的选择消息而无需以消息被写入的顺序来读取消息 2.信号量 允许多个进程...

2018-10-21 02:02:34

阅读数 14

评论数 0

44.Linux/Unix 系统编程手册(下) -- 管道和 FIFO

1.管道的特点 1.一个管道是一个字节流 当讲到管道是一个字节流时,意味着在使用管道时是不存在消息或者消息边界的概念的。从管道中可以读取任意大小的数据块, 通过管道传递的数据是顺序的,在管道中无法使用 lseek() 来随机访问数据. 2.从管道中读取数据 当试图从一个当前为...

2018-10-21 01:19:52

阅读数 20

评论数 0

43.Linux/Unix 系统编程手册(下) -- 进程间通信简介

1.IPC 工具的分类 1.通信 1.数据传输工具 区分这些工具的关键因素是写入和读取的概念。为了进行通信,一个进程将数据写入IPC工具中,另外一个进程从中读取数据。 这些工具要求在用户内存和内核内存之间进行2次数据传输。 一次传输是在写入的时候从用户内存到内核内存,...

2018-10-20 20:18:06

阅读数 22

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭