1.管道(pipe)及有名管道(named pipe):
管道可用於具備親緣關係的父子進程間的通訊,有名管道除了具備管道所具備的功能外,它還容許無親緣關係進程間的通訊。
2.信號(signal):
信號是在軟件層次上對中斷機制的一種模擬,它是比較複雜的通訊方式,用於通知進程有某事件發生,一個進程收到一個信號與處理器收到一箇中斷請求效果上能夠說是一致的。
3.消息隊列(message queue):
消息隊列是消息的連接表,它克服了上兩種通訊方式中信號量有限的缺點,具備寫權限的進程能夠按照必定的規則向消息隊列中添加新信息;對消息隊列有讀權限的進程則能夠從消息隊列中讀取信息。
4.共享內存(shared memory):
能夠說這是最有用的進程間通訊方式。它使得多個進程能夠訪問同一塊內存空間,不一樣進程能夠及時看到對方進程中對共享內存中數據的更新。這種方式須要依靠某種同步操做,如互斥鎖和信號量等。
5.信號量(semaphore):
主要做爲進程之間及同一種進程的不一樣線程之間得同步和互斥手段。
6.套接字(socket);
這是一種更爲通常的進程間通訊機制,它可用於網絡中不一樣機器之間的進程間通訊,應用很是普遍。
網絡