LINUX进程间通信
Linux 进程间通信学习
1.Linux 间进程通信的分类
1. 管道通信(pipe)和命名管道(FIFO)
2. 信号(软件中断)
3. 消息队列
4. 共享内存
5. 信号量
6. SOCKET
1.1管道通信
管道通信主要分普通管道和命名管道。
他们之间的差别就在于普通管道适合同一个祖先的两个进程之间的通信,而命名管道则不受该限制。
管道相关函数有:
Int pipe(int filedes[2]);
Pipe 函数用于在内核中开辟一块缓冲区用于通信,filedes是传递给用户的两个文件描述符。Filedes[0]用于读,filedes[1]用于写。
调用成功返回0,否则返回-1.
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
int pipe_fd[2];
pid_t pid;
char buf_r[100];
char* p_wbuf;
int r_num;
memset(buf_r,0,sizeof(buf_r));
if(pipe(pipe_fd)<0)
{
printf("pipe create error\n");
return -1;
}
if((pid=fork())==0)
{
printf("\n");
&nbs
相关文档:
一:前言
I2c是philips提出的外设总线.I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员
的布线.另外,I2C是一种多主机控制总线.它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以.而
I2C 是基于multi master机制.一同总线上可允许多个master.关于I2C协议的知 ......
linux 中文显示乱码解决办法
vi /etc/sysconfig/i18n
将内容改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
这样中文在SSH,telnet终端就可以正常显示
......
linux操作系统下system () 函数详解
(执行shell 命令)
相关函数
fork,execve,waitpid,popen
表头文件
#include<stdlib.h>
定义函数
int system(const char * string);
函数说明
system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string ......
package: download from:
软件集成开发环境(代码编辑、浏览、编译、调试)
Emacs http://www.gnu.org/software/emacs/
Source-Navigator 5.2b2 http://sourceforge.net/projects/sourcenav
Anjuta http://anjuta.sourceforge.net(可用yum安装)
代码索引工具
Cscope http://cscope.sourceforge.net/
KScope http:/ ......
写在前面的话
Linux Device Driver 尝试着看了好几遍,总感觉理解不够透彻,很多东西经不住问,
才深深的意识到,要走进浩瀚无边的 Linux 世界,并不是一蹴而就的事情。我决心从理论到
实践,再一次走一边这本书,同时记录下自己的心得,和大家一起分享,一起讨论,一起进
步。
&nb ......