linux下进程间通信大致如下:



1.socket



2。管道(包括父子过程的匿名管道,命名管道)



三.信号量



4。共享内存



5。消息队列



1.socket



插座可用于本地进程间通信,可用于远程之间。这是最常用的方法。



2。管道——匿名管道



通常用管道创建,父子之间的通信。关闭父进程中的读/写管道,关闭子进程中的写/读管道。



2。命名管道



它通常是用mkfifo。如果管不堵塞,然后读-打开管道阻塞直到过程编写打开FIFO,如果管上开写,它将被阻塞直到进程打开FIFO的读。



三.信号量



一个进程可以用另一个进程发送信号到另一个进程。



4。共享内存



使用功能:shmget,shmat,shmctl,shmdt



shmget函数的方法得到一个内存块,并设置在shmat让这个过程使用这个共享内存。使用后,删除shmdt内存块。



5。消息队列



使用功能:msgget,msgsnd和msgrcv、msgctl



使用相同的步骤。