Linux
文章平均质量分 58
ZhatianYuan
这个作者很懒,什么都没留下…
展开
-
Linux 高级I/O函数
一、pipe()函数1.1、pipe函数创建一个管道,以实现进程间通信。1.2、int pipe(int fd[2]),pipe函数的参数是一个包含两个int型整数的数组指针。函数成功时返回0,该函数创建的两个文件描述符fd[0]和fd[1]分别构成管道的两端,fd[0]只能从管道读出数据,fd[1]只能往管道里面写入数据,而不能反过来使用。如果想要实现双向的数据传输,只能使用两个管道。默原创 2017-05-10 20:35:33 · 299 阅读 · 0 评论 -
pthread_join和pthread_detach的作用
每一个线程在任何情况,要么是可结合的状态(joinable),要么是可分离的状态(detached)。 先将这两个函数的原型列一下 int pthread_join(pthread_t tid, void ** pthread_return); int pthread_detach(pthread_t tid); 当我们的线程运行结束后,最后显示的调用被回收。这样就出现两种回收方式原创 2017-05-18 19:46:18 · 321 阅读 · 0 评论 -
线程的状态----joinable和detached
在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。线程的分离状态决定一个线程以什么样的方式来终止自己。在默认情况下线程是非分离状态的,这种情况下,原有转载 2017-05-18 20:41:46 · 542 阅读 · 0 评论 -
SIGPIPE信号
当一个进程向某个已收到RST的套接字执行写操作时,内核向该进程发送一个SIGPIPE信号。该信号的默认行为是终止进程,因此进程必须捕获它以免不情愿地被终止。不论该进程是捕获了该信号并从其信号处理函数返回,还是简单地忽略该信号,写操作都将返回EPIPE错误。原创 2017-05-19 10:38:16 · 245 阅读 · 0 评论 -
FTP传输文件的两种方式
FTP可用多种格式传输文件,通常由系统决定,大多数系统(包括UNIX系统)只有两种模式:文本模式和二进制模式。文本传输器使用ASCII字符,并由回车键和换行符分开,而二进制不用转换或格式化就可传字符,二进制模式比文本模式更快,并且可以传输所有ASCII值,所以系统管理员一般将FTP设置成二进制模式。 一般来说: 如果你用错误的模式传输你的图片,你将会无法看到图片,看到的会是乱码。 如果你原创 2017-05-20 16:34:01 · 2662 阅读 · 0 评论 -
缓存I/O和直接I/O
什么是缓存I/O:缓存I/O又称为标准I/O,大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存中,即数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。缓存I/O的优点:1、缓存I/O使用了操作系统内核缓冲区,在一定程度上分离了应用程序空间和实际的物理设备;2、缓原创 2017-06-06 15:45:13 · 2006 阅读 · 0 评论 -
MakeFile文件的书写
基本的格式是:Object:Prequisitescommandgcc -o filename file.o,表示生成目标文件filename,生成默认的可执行程序gcc -c filename.c ,表示只编译(compile)源文件,会把.c或者.cc源程序编译成目标文件,一般是.o 文件示例: 正如前面所说的,如果一个工程有3个头文件,和8个C文件,我们原创 2017-06-06 23:12:13 · 229 阅读 · 0 评论