現在最常用的進程間通信的方式有:信號、信號量、消息隊列、共享內存。
進程間通信就是在不同進程之間傳播或交換信息。
進程通信有如下一些目的:
A、數據傳輸:一個進程需要將它的數據發送給另一個進程,發送的數據量在一個字節到幾M字節之間
B、共享數據:多個進程想要操作共享數據,一個進程對共享數據的修改,別的進程應該立刻看到。
C、通知事件:一個進程需要向另一個或一組進程發送消息,通知它(它們)發生了某種事件(如進程終止時要通知父進程)。
D、資源共享:多個進程之間共享同樣的資源。為了作到這一點,需要內核提供鎖和同步機制。
E、進程控制:有些進程希望完全控制另一個進程的執行(如Debug進程),此時控制進程希望能夠攔截另一個進程的所有陷入和異常,並能夠及時知道它的狀態改變。