
linux应用开发
文章平均质量分 57
雁子依然
这个作者很懒,什么都没留下…
展开
-
linux进程的启动和终止
1. 进程正常终止的5种方式: 1)main函数返回 2)进程调用exit:进入内核前先进行一些清理工作,如调用各种终止程序(这些终止处理程序可以由atexit注册),关闭标准I/O流等 3)进程调用_exit/_Exit:立即进入内核 注:exit和_Exit由ISO C说明,_exit由POSIX.1说明 4)最后一个线程从其启动例程返回 5)最后一个线程调用pthread_exi原创 2013-04-27 09:13:04 · 1252 阅读 · 0 评论 -
进程控制
1.共享库:减小可执行文件大小,增加程序的运行时开销;开销发生在程序第一次被执行时,或者共享库函数第一被调用时;gcc组织程序使用共享库(将共享库静态链接到可执行文件):gcc-static ex01.c 2.进程ID的延迟重用:已终止进程的进程ID可以被重用,但是一般系统都实现了延迟重用算法,以防止将新进程误认为是已终止的先前进程 3.进程ID 0通常是调度进程,成为交换进程swapper;原创 2013-04-27 09:01:34 · 658 阅读 · 0 评论 -
信号
1.信号又称软中断 2.信号的发送 1)一个进程发送给另一个进程(或自身) 2)内核发给进程 3.不可被捕捉、不能忽略的信号:SIGKILL、SIGSTOP 4.信号处理函数执行期间,后续递交的相同信号将被阻塞;另外还可以通过在调用sigaction函数时设置sa_mask参数的值指定其它被阻塞的信号,如,将其设置为0则表示只阻塞相同信号 5.承上,如果在阻塞期间,一个信号被原创 2013-04-27 08:58:55 · 634 阅读 · 0 评论 -
进程创建:fork、vfork、clone
转自:http://blog.youkuaiyun.com/zjg555543/article/details/7419098 在Linux中主要提供了fork、vfork、clone三个进程创建方法。 在linux源码中这三个调用的执行过程是执行fork(),vfork(),clone()时,通过一个系统调用表映射到sys_fork(),sys_vfork(),sys_clone(),再在这三个函数中转载 2013-04-27 09:09:44 · 1093 阅读 · 0 评论 -
linux下进程间通信的几种主要手段
管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posi转载 2013-05-24 16:01:08 · 518 阅读 · 0 评论