摘要:
read函数:#include <unistd.h>ssize_t read(int feledes,void *buff,size_t nbytes);返回: 读到的字节数,若已到文件末尾则为0,若出错为-1write函数:#include <unistd.h>ssize_t write(int filedes,const void *buff,size_t nbytes);返回: 若成功为已写的字节数,若出错为-1对于普通文件,写操作从文件的当前位移量处开始。如果打开时制定了O_APPEND选择项,则在每次写操作之 前将文件位移量设置在文件的当前结尾处。在一次成功写 阅读全文
2011年11月17日 #
2011年11月16日 #
摘要:
Linux系统调用:是指操作系统提供给用户程序的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操 作系统内核提供的特殊服务,最直接的就是API调用,比如fork函数,exit函数等。 内核是一个很神秘很特别的程序,它不允许用户程序直接访问内核提供的服务,为了更好的保护内核空间,将程序的运行空间分为内核空间和用户空间,他们运行在不同的级别上,在逻辑上是相互隔离的,在linux中用户编程接口(API)遵循了在UNIX中最流行的应用编程界面标准---POSIX标准,这些系统调用编程 接口主要是通过C库来实现的(libc). 文件I/O:大多数linux文件I/O只需用到5个函数:open、 阅读全文
摘要:
在man的时候,man page显示的内容中,指令或档案后面会接一组数字,代表意义:1>一般用户可以使用的指令或可执行文件5>一些配置文件的档案内容格式8>系统管理员能够使用的管理命令man page显示的内容默认存放在/usr/local/man /usr/share/man等默认目录中linux提供一些在线文献数据,通常放在/usr/share/docLinux最优秀的地方之一,就在于他的多人多任务环境,而为了让各个使用者具有较保密的档案数据,因 此档案管理就变得很重要了。(是啊,多人多任务意味着很多个人同时登陆了linux主机,可每个人的操作环境 并不一定相同,人总是有 阅读全文
2011年11月15日 #
摘要:
共享内存: 共享内存区域是被多个进程共享的一部分物理内存. 不同的进程可以通过共享内存通信,是进程间共享数据的一种最快的方法.一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容 (比如你把你家的保险箱密码告诉我,那我们就可以通过保险箱共享money,你一放进去money,我就可以 立马收到你的money了!!!!) 实现: ->创建共享内存,使用shmget函数 ->映射共享内存,将这段创建的共享内存映射到具体的进程空间去,使用shmat函数当一个进程不再需要共享的内存段时,它将会把内存段从其地址空间中脱离,调用shmdt函数Example: sh 阅读全文
2011年11月14日 #
摘要:
守护进程:生存期长,在系统引导装入时启动,在系统关闭时终止,没有控制终端,只在后台运行 所有守护进程的父进程都是init进程一个或多个进程构成进程组,一个或多个进程组构成会话组守护进程编程规则:1.创建子进程,父进程退出(使得子进程成为孤儿进程,孤儿进程运行一段时间后,由init进程统一接管)2.调用setsid创建一个新的会话,并担任该会话组的组长setsid作用:a>成为新会话组的首进程 b>成为一个新进程组的首进程 c>脱离控制终端3.改变当前目录为根目录---chdir("/");4.重设文件权限掩码---umask(0);----对所有权限都开放 阅读全文
摘要:
第一篇博客的第一句话,真的不知道说什么好。很迷茫,很无奈,很.....或许我就处在这个阶段吧,很迷茫的阶段,完全不知道自己在干什么,该干些什么,我其实知道该干什么,但总是想多做少大三马上就过去一半了,越来越感到时间紧迫,留给我的时间真的是不多了,也越来越觉得自己失败,很失败.....我就像一具行尸走肉,游荡在这个很怪的世界,却没有一个清晰的方向。总是在想,人活在世上是为了什么到今天我才发现自己其实是一个很笨很笨的人,连一些小聪明都笨的可以安慰别人的时候总是有说不完的话,一遇到自己的事,脑子里顿时就一片空白......身为一个男生,我有点自私,有点小心眼,有点斤斤计较........缺点一大堆一 阅读全文