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
相关文档:
----------------------------------------------------------------------------------------------------------------------------------------
/**/
/*
********************************************************************************************************
* @Description:s3c2410的rtc驱动的实 ......
嵌入式Linux启动分为两个部分,系统引导与Linux启动。系统引导将完成Linux装入内存前,初始化CPU和相关I/O设备,并将Linux调入内存的工作。系统引导主要由BootLoader实现。在BootLoader将Linux内核调入内存之后,将权力交给LinuxKernel,进入Linux的启动部分。以下详细分析启动的过程与使用的文件。
一、系统引导与BootLoa ......
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 ......