1、文件描述符
Linux操作系统中,几乎所有的设备都被抽象成为设备文件。因此,当我们想对设备进行操作的时候可以直接去操作其相应的设备文件。设备文件即是文件,要想对文件进行操作,无非就是:打开文件、关闭文件、写入数据、读出数据等,它们分别对应的函数有open(),close(),write(),read(),就以其中的open()函数做一个分析。open函数的作用是打开一个文件。
(1)它的定...
分类:
系统相关 时间:
2014-06-05 06:17:45
阅读次数:
389
fd_set是一组文件描述符(fd,file
descriptor)的集合,它用一位来表示一个fd。系统提供了4个宏对描述符集进行操作: #include #include
//设置文件描述符集fdset中对应于文件描述符fd的位(设置为1)void FD_SET(int fd, fd_set *f...
分类:
系统相关 时间:
2014-06-04 20:48:17
阅读次数:
343
管道大致分为两种:
1.匿名管道:这个一般只能用于父进程创建管道传递给子进程,可以父子进程通信
2.有名管道:这种管道存在于文件系统中,所以任意进程都能找到,都可以通过它来通信
API:
#include
int pipe(int fds[2])
fds[0] 是读取文件描述符,也就是管道出口
fds[1] 是写文件描述符,也就是管道入口
创建一个匿名管道
成功返回0,...
分类:
其他好文 时间:
2014-06-04 13:41:39
阅读次数:
365
1. 线程基础
概念
1). 线程全称控制线程
2). 多线程的优势:
a) 比进程方便,可以共享相同的内存空间及文件描述符
b) 可以用于多个任务,而这些任务如果用单进程来实现是串行,在多线程里面由于CPU的调度可以实现穿插执行
c) 用于交互程序,将用户输入输出与其他部分分开,优化性能
...
分类:
编程语言 时间:
2014-05-31 21:44:34
阅读次数:
417
1:标准输出;2:错误输出1,exec启动一个新的shell将STDOUT文件描述符重定向到文件#!/bin/shecho
"test exec..."exec > out.txt exec 2> out.errorecho "this is the first
line"#故意生成错误信息,将输出...
分类:
系统相关 时间:
2014-05-29 10:28:51
阅读次数:
326
1. 文件的打开读写 关闭
int open(const char *pathname,int flag,…) 打开一个文件
成功则返回文件描述符,若出现则返回-1
flag可以取下面的常量
O_RDONLY 只读打开
O_WRONLY 只写打开
O_RDWR 读写打开
其它的常量 O_APPEND,O_CREAT,O_EXCL,O_TRUNC,O_NOCTT...
分类:
其他好文 时间:
2014-05-20 16:07:29
阅读次数:
269
经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。事故背景安排一个妹子在一台生产服务器上安装Oracle,妹子边研究边安装,感觉装的不对,准备卸载重新安装。从网上找到卸载方法,其中...
分类:
其他好文 时间:
2014-05-19 19:51:36
阅读次数:
235
在Android的消息机制中,不仅提供了供Application 开发使用的java的消息循环。其实java的机制最终还是靠native来实现的。在native不仅提供一套消息传递和处理的机制,还提供了自定义文件描述符的I/O时间的监听机制。下面我们从具体代码中分析一下。
Native层的关键类:
Looper.cpp.该类中提供了pollOnce 和wake的休眠和唤醒集中。同时在构造函数中...
分类:
移动开发 时间:
2014-05-18 18:33:48
阅读次数:
340
经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。事故背景安排一个妹子在一台生产服务器上安装Oracle,妹子边研究边安装,感觉装的不对,准备卸载重新安装。从网上找到卸载方法,其中...
分类:
其他好文 时间:
2014-05-17 23:11:52
阅读次数:
333