随笔分类 -  Linux-C

摘要:标准I/O库(stdio)及其头文件stdio.h 为底层I/O系统调用提供了一个通用的接口。 在标准I/O库中,与底层文件描述符对应的是流(stream),它被实现为指向结构FILE的指针。 在启动程序时,有三个文件流是自动打开的。它们是stdin,stdout,stdeer。它们都是在stdio 阅读全文
posted @ 2017-11-19 14:01 逍的遥 阅读(331) 评论(0) 推荐(0) 编辑
摘要:套接字 1.什么是套接字? 套接字(socket)是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。 2.套接字应用程序是如何通过套接字来维持一个连接的? 首先,服务器应用程序用系统调用socket来创建一个套接字,它是系统分配给该服务器进程的类似文件 阅读全文
posted @ 2017-03-05 14:45 逍的遥 阅读(744) 评论(0) 推荐(0) 编辑
摘要:线程 1.1什么是线程? 在一个程序中的多个执行路线就叫做线程(thread)。更准确的定义是:线程是一个进程内部的一个控制序列。 要搞清楚fork系统调用和创建新线程之间的区别。当进程执行fork调用时,将创建出该进程的一份新的副本。这个新进程拥有自己的变量和自己的PID,它的时间调度也是独立的, 阅读全文
posted @ 2017-02-26 12:01 逍的遥 阅读(314) 评论(0) 推荐(0) 编辑
摘要:信号 信号是Unix和Linux系统响应某些条件而产生的一个条件。接收到该信号的进程会相应的采取一些行动。 信号是由于某些错误条件而生成的,如内存冲突,浮点处理器错误或非法指令等。它们由shell和终端处理器生成来引起中断,他们还可以作为在进程间传递消息的或修改行为的一种方式, 明确地由一个进程发送 阅读全文
posted @ 2017-02-25 23:00 逍的遥 阅读(456) 评论(0) 推荐(0) 编辑
摘要:已打开的文件描述符在fork和exec调用后保留下来,我们可以利用对进程这方面知识点的理解来改变程序的行为。 这个例子涉及一个过滤程序:它从标准输入读取数据,然后向标准输出写数据,同时在输入和输出之间对数据做些有用的转换。 过滤程序upper.c upper.c执行效果: 如果我们利用shell从定 阅读全文
posted @ 2017-02-24 22:43 逍的遥 阅读(498) 评论(0) 推荐(0) 编辑
摘要:复制进程映像 fork() 要想让进程同时执行多个函数,我们可以使用线程或从源程序中创建一个完全分离的进程,后者就像init的做法一样,而不像exec调用那样用新程序替换当前指向的线程。 我们可以通过调用fork创建一个新进程。这个系统调用复制当前进程,在进程表中创建一个新的表项,新表项中许多属性和 阅读全文
posted @ 2017-02-12 13:18 逍的遥 阅读(372) 评论(0) 推荐(0) 编辑
摘要:在Linux中,在一个程序的内部启动另外一个程序,从而创建一个新进程。 1.这个工作可以通过库函数system来完成。 #include<stdlib.h> int system (const char *string); system函数的作用是,运行以字符串参数形式的传递给他打命令并等待该命令完 阅读全文
posted @ 2017-02-12 10:45 逍的遥 阅读(188) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示