Linux进程间通信作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!谢谢nonoob纠错我们在Linux信号基础中已经说明,信号可以看作一种粗糙的进程间通信(IPC, interprocess communication)的方式,用...
分类:
系统相关 时间:
2015-11-27 19:28:39
阅读次数:
243
Linux多线程与同步作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!典型的UNIX系统都支持一个进程创建多个线程(thread)。在Linux进程基础中提到,Linux以进程为单位组织操作,Linux中的线程也都基于进程。尽管实现...
分类:
编程语言 时间:
2015-11-27 19:26:46
阅读次数:
171
? 进程跟踪 long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); Linux用ptrace来进行进程跟踪,就跟我们平时用GDB debug一样,它允许一个进程去跟踪和控制另外一个进程。当被跟.....
分类:
系统相关 时间:
2015-11-23 14:46:21
阅读次数:
264
? 等待子进程结束 pid_t waitpid(pid_t pid, int *stat_loc, int options) 另外有一个函数叫wait,其相当于 waitpid(-1, &status, 0) 大家经常看到的关于waitpid的经典例子是:你下载了某个软件的安装程序A,其在安装即将结...
分类:
系统相关 时间:
2015-11-23 14:44:59
阅读次数:
163
如果能划定一块物理内存,让多个进程都能将该内存映射到其自身虚拟内存空间的话,那么进程可以通过向这块内存空间读写数据而达到通信的目的。另外,和消息队列不同的是,共享的内存在用户空间而不是核空间,那么就不存在“用户空间和内核空间之间数据复制”的问题,这会减少不少开销。 由于不同进程都可能向同一个空间读写...
分类:
系统相关 时间:
2015-11-23 14:43:59
阅读次数:
236
? 退出/终止进程 void _exit(int status) 与 void exit(int status) 这两个函数都是让进程退出, 参数status表示进程将以何种状态退出,在中预定义了一些状态,比如EXIT_SUCCESS(值为0)表示以成功状态退出,EXIT_FAILURE(值为1)表...
分类:
系统相关 时间:
2015-11-23 14:42:40
阅读次数:
156
信号(或软中断)是在软件层次上对中断的一个模拟,其运行在“用户空间”,一个进程对另外一个或几个进程通过发送信号来实现异步通信。当接收进程接收到信号后,其可以注册一下处理函数来说对这些信号进行处理(也可以选择忽略该信号或者采用系统默认的处理方式)。 我看可以通过“kill -l”命令来查看系统支持的信...
分类:
系统相关 时间:
2015-11-23 14:42:01
阅读次数:
337
https://www.ibm.com/developerworks/cn/linux/l-ipc/part3/继续坚持,或许不能深刻理解,但至少要保证有印象。~~~~~~~~~~~~~~消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信...
分类:
系统相关 时间:
2015-11-22 11:21:59
阅读次数:
272
IBM上放的这个系统不错,刚好可以系统回温一下LINUX的系统知识。http://www.ibm.com/developerworks/cn/linux/l-ipc/part1/感觉年纪大了,前几年看的LINUX内核和系统的东东,忘了很多,要慢慢转化成永久记忆才可以。今天,又拿起《LINUX内核设计...
分类:
系统相关 时间:
2015-11-22 00:16:55
阅读次数:
146
从FIFO中读取数据:约定:如果一个进程为了从FIFO中读取数据而阻塞打开FIFO,那么称该进程内的读操作为设置了阻塞标志的读操作。如果有进程写打开FIFO,且当前FIFO内没有数据,则对于设置了阻塞标志的读操作来说,将一直阻塞。对于没有设置阻塞标志读操作来说则返回-1,当前errno值为EAGAI...
分类:
系统相关 时间:
2015-11-22 00:01:28
阅读次数:
300