posted @ 2015-04-05 00:35 勇敢的鑫 阅读(106) 评论(0) 推荐(0) 编辑
摘要:
管道读写规则:当没有数据可读时O_NONBLOCK disable:read调用阻塞,即进程暂停执行,一直等到有数据来到为止。O_NONBLOCK enable:read调用返回-1,errno值为EAGAIN。当管道满的时候O_NONBLOCK disable: write调用阻塞,直到有进程读走... 阅读全文
摘要:
我们把从一个进程连接到另一个进程的一个数据流称为一个“管道”管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道只能用于具有共同祖先的进程(具有亲缘关系的进程)之间进行通信;通常,一个管道由一个进程创建,然后该进程调用fork,此后父、子进程之间就可应用该管道。pipe:匿名管... 阅读全文
posted @ 2015-04-04 15:30 勇敢的鑫 阅读(104) 评论(0) 推荐(0) 编辑
摘要:
这节主要介绍,父子进程共享文件、fork基于的copy on write、exit(0)与_exit(0)的区别、atexit()终止处理程序。首先父子进程共享文件:直接献上一个例子:#include #include #include #include #include #include #inc... 阅读全文
posted @ 2015-03-28 00:50 勇敢的鑫 阅读(116) 评论(0) 推荐(0) 编辑
摘要:
这节主要讲一个系统调用:forkpid_t fork(void);功能是:创建一个子进程返回值:如果成功创建一个子进程,对于父进程来说返回子进程ID如果成功创建一个子进程,对于子进程来说返回值为0如果为-1表示创建失败注意:这里是一个程序具有了两个返回值。如果父进程先退出,子进程还没退出那么子进程的... 阅读全文
posted @ 2015-03-27 00:51 勇敢的鑫 阅读(144) 评论(0) 推荐(0) 编辑
摘要:
这节主要学习系统调用stat、lstat、fstat。格式如下:int fstat(int filedes, struct stat *buf);int stat(const char *path, struct stat *buf);int lstat(const char *path, stru... 阅读全文
posted @ 2015-03-26 00:35 勇敢的鑫 阅读(141) 评论(0) 推荐(0) 编辑
摘要:
这节主要学习了read、write、lseek、目录访问(opendir、readdir、closedir)这几个系统调用及其简单的应用。一旦有了与一个打开文件描述相连的文件描述符,只要该文件是用O_RDONLY或O_RDWR标志打开的,就可以用read()系统调用从该文件中读取字节ssize_t ... 阅读全文
posted @ 2015-03-24 23:25 勇敢的鑫 阅读(107) 评论(0) 推荐(0) 编辑
摘要:
set numbersyntax enableset tabstop=4set shiftwidth=4set noexpandtabset cindentset autoindentset showmatchset matchtime=1set formatoptions=ornmap : Tl... 阅读全文
posted @ 2015-03-24 22:32 勇敢的鑫 阅读(121) 评论(0) 推荐(0) 编辑
摘要:
#define ERR_EXIT(m) \ do \ { \ perror(m); \ exit(EXIT_FAILURE); \ } while(0)工作中一般都是这样定义一个比较复杂的宏定义的,每一行都以斜杠结尾,斜杠的后边不能有空格,前边无所谓。 阅读全文
posted @ 2015-03-24 20:10 勇敢的鑫 阅读(290) 评论(0) 推荐(0) 编辑