打开或创建一个文件 #include <fcntl.h> int open(const char *pathname, int oflag, .../*mode_t mode*/); 返回值:若成功则返回文件描写叙述符,若出错则返回-1 oflag选项: O_RDONLY O_WRONLY O_RD ...
分类:
其他好文 时间:
2017-05-01 15:04:36
阅读次数:
248
在整理Java LockSupport.park()的东东。看到了个"Spurious wakeup"。又一次梳理下。 首先来个《UNIX环境高级编程》里的样例: [cpp] view plaincopy #include <pthread.h> struct msg { struct msg *m ...
分类:
其他好文 时间:
2017-04-29 11:00:00
阅读次数:
302
前面介绍了: 1、文件和目录的操作 2、进程、线程的控制 3、信号的使用 4、进程间通信 《unix环境高级编程》 W.Richard Stevens 《Solaris系统编程》Rich Teer。Solaris是一种unix操作系统。该书详细描述了系统编程接口,以大量的案例, 代码和图示解释如何使 ...
分类:
其他好文 时间:
2017-04-25 11:39:44
阅读次数:
181
《UNIX环境高级编程》中apue.h的问题运行程序清单1-1(列出一个目录中的所有文件)提示"错误:apue.h:没有那个文件或目录".很是受打击,果断google解决之。apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是/..
分类:
其他好文 时间:
2017-04-08 01:11:50
阅读次数:
170
本脑图通过Coggle创造,请通过公开地址查看。 ...
分类:
其他好文 时间:
2017-02-20 12:48:27
阅读次数:
465
一.引言 说明几个I/O函数:open、read、write、lseek和close,这些函数都是不带缓冲(不带缓冲,只调用内核的一个系统调用),这些函数不输入ISO C,是POSIX的一部分; 多进程共享资源(包括文件)时,会有很多额外的烦恼,需要对共享资源、原子操作等概念深入理解,需要理解涉及的 ...
分类:
其他好文 时间:
2017-01-06 15:34:52
阅读次数:
327
1.几个wait类函数 目的:暂时停止当前进程执行进行等待,直到有信号或者子进程结束。 有的父进程中有用来获得子结束消息的函数。一个进程正常或异常终止时,内核向父进程发一个SIGCHLD消息。父进程得到消息,调用wait类函数,对消息进行处理。有三类wait函数: (1)wait:有终止状态的子进程 ...
分类:
其他好文 时间:
2016-12-26 21:38:32
阅读次数:
209
《UNIX环境高级编程》在大部分操作系统中,内存分配由以下两个简单的函数来处理:void*malloc(longnumbytes):该函数负责分配numbytes大小的内存,并返回指向第一个字节的指针。voidfree(void*firstbyte):如果给定一个由先前的malloc返回的指针,那么该函数会将分配的空间归还..
分类:
其他好文 时间:
2016-12-23 19:58:50
阅读次数:
224
【1】.信号。所谓的信号就是一种软件中断。内核接受到信号有三种处理方式:忽略,执行默认动作,或者进行捕捉信号(捕捉到信号进行用户自定义的函数操作)。目前我遇到几个用到的信号有: SIGALRM:超时,在alarm()函数中用到;SIGINT:终端终止符,delete SIGUSR1,SIGUSR2: ...
分类:
其他好文 时间:
2016-12-23 18:52:23
阅读次数:
216
1.终端登陆:init使系统进入多用户状态。 /etc/ttys:包含了终端设备,一行有设备名和传递给getty程序的参数。 init从ttys文件读数据,对每一个可以登录的终端设备进行一次fork,得到的子程序进行exec getty程序进行终端开启初始化设置。 getty程序1.调用open2. ...
分类:
其他好文 时间:
2016-12-22 19:33:09
阅读次数:
183