![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
unix环境高级编程
大冰的小屋
这个作者很懒,什么都没留下…
展开
-
线程的终止
unix环境高级编程中对线程终止的描述: 如果进程中的任一线程调用了exit,_Exit 或者 _exit, 那么整个进程就会终止。与此类似,如果信号的默认动作是终止进程, 那么,把该信号发送到线程会终止整个进程。 对于单个线程的可以通过以下三种方式退出,在不终止整个进程的情况下停止它的控制流。 (1)线程只是从启动历程中返回,返回值是线程的退出码。原创 2013-06-14 11:21:52 · 701 阅读 · 0 评论 -
linux中system和exec函数的区别
http://blog.csdn.net/goodlixueyong/article/details/6315596system是用shell来调用程序=fork+exec+waitpid,而exec是直接让你的程序代替用来的程序运行。system 是在单独的进程中执行命令,完了还会回到你的程序中。而exec函数是直接在你的进程中执行新的程序,新的程序会把你的程序覆盖,除非调用出错,否则你转载 2013-06-15 18:19:12 · 909 阅读 · 0 评论 -
exec函数
用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程执行的程序完全替换为新的程序,而新的程序则从其main函数开始执行。因为调用exec并不创建新进程,所以前后的进程ID并未改变。exec只是用一个全新的程序替换了当前进程的正文、数据、堆和栈段。 #includeint execl(const char *pathname,原创 2013-06-14 20:12:17 · 744 阅读 · 0 评论 -
基于select、poll、epoll的区别详解
详细出处参考:http://www.jb51.net/article/37416.htmlinux提供了select、poll、epoll接口来实现IO复用,三者的原型如下所示,本文从参数、实现、性能等方面对三者进行对比。int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct t转载 2013-06-15 18:37:12 · 835 阅读 · 0 评论 -
僵尸进程和孤儿进程
对于父进程创建的子进程有三种可能,一种是正常结束,并由父进程回收资源;一种是正常结束后,父进程没有对其资源回收,导致该进程成为了所谓的僵尸进程,占用一定的资源(进程表项);第三种是当子进程结束之前父进程就已经结束了,这时该子进程就成了孤儿进程,此时内核会把这个孤儿进程的父进程改成init进程,它是开机运行以后一直运行的初始进程,接收所有父进程已经结束的孤儿进程为自己的子进程,并一直检测子进程的结束原创 2013-07-19 17:26:49 · 814 阅读 · 0 评论 -
Epoll模型详解
原文出处Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后 首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在 我用的2.6.15-25-386内核中,该值是转载 2014-04-23 16:19:43 · 659 阅读 · 0 评论 -
I/O多路复用:select 和epoll区别的简单介绍
简单说:相比于select实现的多路复用I/O模型,epoll模型最大的好处在于它不会随着被监控描述符数目的增长而导致效率的急速下降。 具体说:select模型是采用遍历扫描来判断每个描述符是否有事件发生。当监控的描述符数目越多,自然耗时就越大。而且由于受系统默认限制,select只能同时监控1024个描述符。相反,epoll模型没有这些缺点,epoll基于poll模型的,不受描述原创 2013-12-22 11:14:01 · 1022 阅读 · 0 评论 -
非阻塞connect的使用笔记
非阻塞connect的三个用途:原创 2014-07-22 14:40:18 · 838 阅读 · 0 评论 -
epoll学习笔记
1.内核事件表 epoll是Linux原创 2014-07-21 20:18:14 · 835 阅读 · 0 评论