阿牧路泽

哪有那么多坚强,无非是死扛罢了
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

随笔分类 -  Linux系统编程

摘要:一、进程间通信概述 1、进程间通信的目的 传输数据 一个进程须要将它的数据发送给还有一个进程。发送的数据量在一个字节到几M字节之间 共享数据 多个进程想要操作共享数据,一个进程对共享数据 通知事件 一个进程须要向还有一个或一组进程发送消息。通知它(它们)发生了某种事件(如进程终止时要通知父进程)。 阅读全文

posted @ 2018-09-25 14:48 阿牧路泽 阅读(221) 评论(0) 推荐(0)

摘要:转自:https://blog.csdn.net/u010533843/article/details/78394086 Linux 查看系统信息命令大全 阅读全文

posted @ 2018-09-20 13:26 阿牧路泽 阅读(151) 评论(0) 推荐(0)

摘要:前言 1. 环境变量是操作系统环境设置的变量,适用于整个系统的用户进程; 2. 环境变量可以在命令中设置,但是用户注销的时候将会丢失这些设置值; 3. 若要重复适用,则最好在.profile中定义;环境变量的使用与本地变量的使用方法相同, 4. 但是在使用之前,必须用export命令导出。 一、环境 阅读全文

posted @ 2018-09-20 13:18 阿牧路泽 阅读(241) 评论(0) 推荐(0)

摘要:一、Linux 文件颜色 在终端下使用ls命令查看某个目录下的文件信息时,不同的颜色表示不同的文件属性: 这是linux系统约定的默认颜色 二、Linux端口详解 参见下面这篇博客: https://blog.csdn.net/u010533843/article/details/54945484 阅读全文

posted @ 2018-09-20 12:53 阿牧路泽 阅读(282) 评论(0) 推荐(0)

摘要:Linux系统目录详解 一、Linux系统目录结构 1、根目录/ 这就是根目录。对你的电脑来说,有且只有一个根目录。所有的东西,我是说所有的东西都是从这里开始。举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。 2、/root 这是系统管理员( 阅读全文

posted @ 2018-09-20 12:51 阿牧路泽 阅读(385) 评论(0) 推荐(0)

摘要:共享内存的本质: 多个进程访问同一个逻辑内存 字节访问内存,不用read()/write()非常方便 1. POSIX 共享内存 1.1分类 (1)分类 注意:共享内存的大小 = 文件大小 (2)匿名内存映射(亲缘进程) (3)共享内存区对象(非亲缘进程) 1.2 接口 头文件: #include 阅读全文

posted @ 2018-09-11 16:44 阿牧路泽 阅读(235) 评论(0) 推荐(0)

摘要:程序与进程 概念: 进程:程序在计算机上的一次执行过程,执行中的程序。 进程是一个抽象概念,其本质是: 程序在地址空间中按照代码逻辑控制流执行 资源分配最小单位 进程和程序的区别: 进程是动态的,有声明周期的,一个进程只能对应一个程序。 程序是静态的,是一系列指令的集合,可以对应多个进程。 从程序到 阅读全文

posted @ 2018-09-11 13:47 阿牧路泽 阅读(203) 评论(0) 推荐(0)

摘要:truncate ftruncate函数 truncate()和ftruncate()都可以用来修改文件大小,但两者之间也有一些区别。 一、truncate()函数 头文件: 函数定义: 函数调用: 函数说明: truncate()会将参数path指定的文件大小改为参数length指定的大小。 如果 阅读全文

posted @ 2018-09-07 11:27 阿牧路泽 阅读(2088) 评论(0) 推荐(0)

摘要:Linux 自旋锁 自旋锁是SMP(多处理器结构)架构中的一种low-level的同步机制。 当线程A想要获取一把自旋锁而该锁又被其它线程锁持有时,线程A会在一个循环中自旋以检测锁是不是已经可用了。对于自选锁需要注意: 由于自旋时不释放CPU,因而持有自旋锁的线程应该尽快释放自旋锁,否则等待该自旋锁 阅读全文

posted @ 2018-09-07 11:06 阿牧路泽 阅读(356) 评论(0) 推荐(0)

摘要:一、shell 简单的说, Shell就是一个小程序,这个小程序可以接受来自键盘的命令并把这些命令发送到操作系统,再有系统来执行。在过去,在安装有Unix的计算机上,这是唯一的可用的交互式操作。而如今,可以通过图形化界面来输入命令行,比如Shell。 在大多数的Linux计算机中,安装有个一个叫ba 阅读全文

posted @ 2018-09-07 10:05 阿牧路泽 阅读(953) 评论(0) 推荐(0)

摘要:一,exec替换进程映像 在进程的创建上Unix采用了一个独特的方法,它将进程创建与加载一个新进程映象分离。这样的好处是有更多的余地对两种操作进行管理。 当我们创建了一个进程之后,通常将子进程替换成新的进程映象,这可以用exec系列的函数来进行。当然,exec系列的函数也可以将当前进程替换掉。 例如 阅读全文

posted @ 2018-09-07 09:42 阿牧路泽 阅读(257) 评论(0) 推荐(0)

摘要:linux下错误的捕获:errno和strerror的使用 经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。 在 阅读全文

posted @ 2018-09-03 11:12 阿牧路泽 阅读(481) 评论(0) 推荐(0)

摘要:对于运行时的限制值和选项,我们已经知道可以用sysconf()、pathconf()和fpathconf()三个函数之一来确定它们的值。具体地,sysconf()用于获得与文件或目录无关的限制值,以及系统特征选项;pathconf()和fpathconf()用于获得与文件或目录有关的限制值。这三个函 阅读全文

posted @ 2018-09-03 10:37 阿牧路泽 阅读(1190) 评论(0) 推荐(2)

摘要:信号的基本概念 每个信号都有一个编号和一个宏定义名称 ,这些宏定义可以在 signal.h 中找到。 使用kill -l命令查看系统中定义的信号列表: 1-31是普通信号; 34-64是实时信号 所有的信号都由操作系统来发! 对信号的三种处理方式 1、忽略此信号:大多数信号都可使用这种方式进行处理, 阅读全文

posted @ 2018-08-31 15:32 阿牧路泽 阅读(801) 评论(0) 推荐(0)

摘要:函数原型 void *memcpy(void*dest, const void *src, size_t n); 功能 功能 由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。 头文件 #include<string.h> 返回值 函数返回一个指向dest 阅读全文

posted @ 2018-08-31 11:45 阿牧路泽 阅读(1981) 评论(0) 推荐(0)

摘要:1.sort()函数 使用:#include <algorithm> using namespace std; 作用:排序 时间复杂度:n*lg(n) 实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序。系统会根据你的数据形式和数据量自动选择合适的 阅读全文

posted @ 2018-08-29 14:05 阿牧路泽 阅读(581) 评论(0) 推荐(0)

摘要:memset()函数 函数原型是: 这个函数的作用:将已开辟内存空间 buffer 的首 count 个字节的值设为值 c,即将已开辟的内存空间buffer中的内容全部初始化为:c 【实例】 memset可以方便的清空一个结构类型的变量或数组。如: 对于变量: 一般情况下,清空stTest的方法: 阅读全文

posted @ 2018-08-29 09:38 阿牧路泽 阅读(451) 评论(0) 推荐(0)

摘要:1、介绍 头文件:#include < unistd.h> 定义函数:int access(const char * pathname, int mode); 函数说明:access()会检查是否可以读/写某一已存在的文件 2、参数mode 有几种情况组合 1、R_OK, W_OK, X_OK和F_ 阅读全文

posted @ 2018-08-07 16:06 阿牧路泽 阅读(338) 评论(0) 推荐(0)

摘要:ioctl用于向设备发控制和配置命令,有些命令也需要读写一些数据,但这些数据是不能用read/write读写的,称为Out-of-band数据。也就是说,read/write读写的数据是in-band数据,是I/O操作的主体,而ioctl命令传送的是控制信息,其中的数据是辅助的数据。例如,在串口线上 阅读全文

posted @ 2018-08-07 15:57 阿牧路泽 阅读(403) 评论(0) 推荐(0)

摘要:上一篇博客我们以read终端设备为例介绍了非阻塞I/O,为什么我们不直接对STDIN_FILENO做非阻塞read,而要重新open一遍/dev/tty呢?因为STDIN_FILENO在程序启动时已经被自动打开了,而我们需要在调用open时指定O_NONBLOCK标志。这里介绍另外一种办法,可以用f 阅读全文

posted @ 2018-08-07 15:47 阿牧路泽 阅读(184) 评论(0) 推荐(0)