摘要:共享内存解释:linux中进程对任何非进程地址空间的访问都是违法的,所以进程1和进程2是不能直接访问共享内存区域的,共享内存在进程1和进程2的地址空间中都会映射一段同样大小的内存区域,所有挂载在该共享内存上的进程都会开辟同样大小的内存,所有对进程内存的操作都会被同步到共享内存,以此实现进程间的通信。创建共享内存的方法:#include#include#include#define BUF_SIZE... 阅读全文
posted @ 2015-06-09 22:02 外禅内定,程序人生 阅读 (224) 评论 (0) 编辑
摘要:FIFO解决了在进程通信的时候产生大量临时文件的问题,并且可以实现非血缘关系进程间的通信,而且可以保留给后来的进程使用。FIFO的读写规则和匿名管道的读写规则相似,不过FIFO保存在磁盘上,而匿名管道保存在内存里。当FIFO的写进程关闭的时候,会向FIFO的读进程发送一个文件结束符。客户端:#include#include#include#include#include#includeint ma... 阅读全文
posted @ 2015-06-09 12:50 外禅内定,程序人生 阅读 (150) 评论 (0) 编辑
摘要:今天维护系统时发现一个非常诡异的问题:AAA用户和BBB用户同属AAA组,但用AAA用户创建的文件,权限设置为777后,还是不能用BBB用户删除。诡异! 几经周转,发现AAA用户创建文件位置的上层目录的权限是drwxrwxrwt,做开发这么多年了,还没见过所谓"t"的权限,于是找了一位公司的linux大师帮忙,大师噼里啪啦的做了一堆试验后,然后在google上搜索"rwt linux",终于发现了... 阅读全文
posted @ 2015-06-09 10:12 外禅内定,程序人生 阅读 (674) 评论 (1) 编辑
摘要:linux中,常常涉及到权限的问题。文件的权限有3组,owner,group,other,每一组都有rwx三种设置。r(4):可读;w(2):可写;x(1):可执行。我们在执行shell命令ls -l时,就会显示出文件的所有信息,第一组就是文件属性中的高级属性,权限。这一组总共有10格,每一格是一个bit。 第一个是特殊位: d表示目录; l表示连接文件; -表示文件; b... 阅读全文
posted @ 2015-06-09 08:58 外禅内定,程序人生 阅读 (113) 评论 (0) 编辑
摘要:1.mkfifo -m 777 fifo1 : 创建一个有名管道,权限是7772.可以实现无关进程间的通信,克服了匿名管道的缺陷3.,管道文件最前面是 p4.管道文件传输信息类似于文件,但又区别于普通文件,管道文件在数据读出后,管道中就会同时清除数据5.函数创建管道: #include#include#include#includeint main(int argc,char* args... 阅读全文
posted @ 2015-06-09 08:33 外禅内定,程序人生 阅读 (51) 评论 (0) 编辑