1、數(shù)據(jù)傳輸,一個進程需要將它的數(shù)據(jù)發(fā)送給另一個進程,發(fā)送的數(shù)據(jù)量在一個字節(jié)到幾M之間;2、共享數(shù)據(jù),多個進程想要操作共享數(shù)據(jù),一個進程對數(shù)據(jù)的修改,其他進程應(yīng)該立刻看到;3、通知事件,一個進程需要向另一個或一組進程發(fā)送消息,通知它們發(fā)生了某件事情;4、資源共享,多個進程之間共享同樣的資源。為了做到這一點,需要內(nèi)核提供鎖和同步機制;5、進程控制,有些進程希望完全控制另一個進程的執(zhí)行(如Debug進程),此時控制進程希望能夠攔截另一個進程的所有陷入和異常,并能夠及時知道它的狀態(tài)改變。
二 Linux進程間通信由以下幾部分發(fā)展而來:早期UNIX進程間通信:包括管道、FIFO、信號。基于System V的進程間通信:包括System V消息隊列、System V信號燈(Semaphore)、System V共享內(nèi)存。基于Socket進程間通信。基于POSIX進程間通信:包括POSIX消息隊列、POSIX信號燈、POSIX共享內(nèi)存。
新聞熱點
疑難解答
圖片精選